0

我将 .jar 文件的路径作为我的 java 应用程序的用户输入。我需要将我的类路径上的一个类添加到该 .jar 文件,然后将 .jar 文件发送到外部服务(通过网络)。另一个站点上的服务必须能够从 .jar 文件中加载类,包括我在应用程序中添加的类。

解决方案应具有以下属性:

  • 通用:应该适用于任何包含用户可以给我的类的可想到的 .jar。
  • 自动:类添加必须由我的 java 应用程序完成。

要添加到 .jar 文件的类的名称不会与该 JAR 中的任何其他类发生冲突。

4

3 回答 3

1

由于 jar 是常规的 zip 文件,因此您可以使用java.util.zip.

于 2012-11-27T01:00:21.987 回答
0

要补充其他人所说的,如果您需要在另一端加载 JAR,您应该检查http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html

于 2012-11-27T01:04:38.310 回答
0

我知道您的类路径上有一个类,您想要做的是获取它的字节数组表示,以便将其注入现有的 JAR 文件。

整洁的。

看看这个javax.tools包,JDK 1.6 及更高版本可用:

http://docs.oracle.com/javase/6/docs/api/javax/tools/package-summary.html

您可以使用那里可用的机制以编程方式编译代码和序列化字节码。如果没有,ASM 也会有所帮助:http ://asm.ow2.org/

于 2012-11-27T01:06:20.327 回答