簡體   English   中英

以編程方式將類添加到現有的JAR文件

[英]Programatically add class to existing JAR file

我將.jar文件的路徑作為我的Java應用程序的用戶輸入。 我需要將類路徑上的一個類添加到該.jar文件,然后將該.jar文件發送到外部服務(通過網絡)。 另一個站點上的服務必須能夠從.jar文件中加載類,包括我在應用程序中添加的類。

解決方案應具有以下屬性:

  • 通用:應該適用於用戶可以給我的任何可想到的.jar包含類。
  • 自動:類添加必須由我的java應用程序完成。

要添加到.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM