[英]Programatically add class to existing JAR file
我將.jar文件的路徑作為我的Java應用程序的用戶輸入。 我需要將類路徑上的一個類添加到該.jar文件,然后將該.jar文件發送到外部服務(通過網絡)。 另一個站點上的服務必須能夠從.jar文件中加載類,包括我在應用程序中添加的類。
解決方案應具有以下屬性:
要添加到.jar文件的類的名稱不會與該JAR中的任何其他類沖突。
由於jar是常規zip文件,因此可以使用java.util.zip
提供的功能。
要補充其他人的意見,如果您需要在另一端加載JAR,則應檢查http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html
我知道您在類路徑上有一個類,並且要做的是獲取其字節數組表示形式,以將其注入到現有的JAR文件中。
整齊。
讓我們看一下JDK 1.6及更高版本中提供的javax.tools
軟件包:
http://docs.oracle.com/javase/6/docs/api/javax/tools/package-summary.html
您可以使用那里提供的機制以編程方式編譯代碼並序列化字節碼。 如果沒有,ASM也可能會有所幫助: http : //asm.ow2.org/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.