我爲用java編寫的軟件創建了新的模塊。這個軟件是從jar文件運行的。我的類正在擴展這個軟件中的類。我想編寫一個向jar文件添加新類的插件。我知道如何將jar文件提取到目錄中,並使用java.util.jar包將它們添加到jar文件中,但是由於有很多文件要從文件中提取,是否可以在不提取文件的情況下添加新類以某種方式直接到文件夾。如何將新的java類添加到jar文件中的現有類
回答
jar uf jar-file input-file(s)
將允許在沒有提取的情況下在jar中添加new files/update現有文件。
您可以使用命令行工具jar
使用以下命令
jar uf foo.jar foo.class
這隻有50%的工作,因爲該命令不會把類放在其相應的包樹結構。 – m0skit0 2016-10-10 14:48:10
@ m0skit0要將類放入tres結構中,您需要傳遞類名稱和目錄結構。 jar uf foo.jar /com/test/foo.class – 2016-10-11 08:42:50
你的問題表明,要以編程方式做到這一點,不。
從看來,你至少需要從現有的JarFile
一個JarInputStream
,使用getNextJarEntry
遍歷條目,並寫入與條目的JarOutputStream
,也應用新的JarEntry
添加自己的新文件的文檔每個新文件的對象。
Here's從頭開始編寫一個jar程序,這將大大地擴展到你的情況的示例代碼,所不同的是,大部分的JarEntry
對象將從一個JarInputStream
到來。
- 1. 如何將java類添加到jar文件中的文件夾
- 2. 將一個類添加到現有的Jar文件 - Eclipse
- 3. 以編程方式將類添加到現有的JAR文件
- 4. 將.jar文件添加到類路徑
- 5. 如何將類文件添加到新的Java項目
- 6. 如何在運行時將新的java文件加載到現有的Jar中?
- 7. 如何添加新的模板到現有的java類
- 8. 如何將我的外部jar文件添加到類路徑
- 9. Java:更新jar文件時加載類
- 10. 如何將新規則添加到現有的CSS類
- 11. 將外部JAR文件添加到jBoss 7的類路徑中
- 12. 將JAR文件添加到您的測試類路徑中:
- 13. 向現有的JAR文件添加新類(其中包含源代碼)
- 14. 將文件添加到java中的現有.debian文件中
- 15. 如何將jar文件添加到jar文件中?
- 16. 添加jar文件到C#類庫
- 17. 將jar庫添加到jar文件中
- 18. Java:將包含的Jar文件添加到Linux中創建的Jar文件中
- 19. Visual Studio 2010:添加從現有類繼承的新類文件?
- 20. Gradle:如何將輸出jar文件添加到現有war文件中
- 21. 如何將方面代碼編織到JAR中的現有類文件中?
- 22. 將新文件類型添加到ultisnips
- 23. 可能爲現有的dll添加新類並將其更新到源文件
- 24. 如何將新類型添加到現有的類或對象在asp.net mvc
- 25. 如何將新類添加到現有的類在這種情況下
- 26. 如何將sourceset添加到jar文件?
- 27. 如何將jar文件添加到Classpath?
- 28. WildFly - 將JAR添加到類路徑中
- 29. 如何將jar文件添加到java rest api項目中?
- 30. 如何將Java JAR文件添加到Grails項目中?
我想起了我的世界改裝。出於好奇,你是否編寫了這個你試圖擴展自己的軟件?在這種情況下,有更好的方法來使用動態類加載。 – Wug 2012-08-03 18:19:54
不需要修改現有的jar文件。只需將這些類放在自己的jar中,並確保兩個jar都在類路徑中。 – 2012-08-03 18:21:18
可能由同一用戶重複:http://stackoverflow.com/questions/11852954/changing-code-at-runtime-in-java – 2012-10-19 12:10:11