繁体   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