我认为这是一个超级简单的问题,但我对此很陌生,不知道该怎么做。所以我在我的一个项目中添加了一个外部 jar 文件,并且能够使用 JAD 反编译这些类以查看一些类文件,问题是我想在同一个 JAR 文件中的一个目录中添加一个新类,编译它并更新jar文件。我在谷歌上搜索,我想出了一个“ANT 构建文件”之类的东西,但不确定它是如何工作的?
谢谢!
首先,我会检查该 JAR 的开发人员是否已向这些类提供了源代码。这减少了 JAD 无法完全反编译所有类信息的可能性。
但是,一旦您拥有所有 .java 文件(包括您更改或添加的类),您可以让 eclipse 构建 jar 文件,如下所示:
1.)编译.java文件(项目->清理..)
2.) 文件 -> 导出 -> Java -> Jar 文件(点击下一步)
3.) 选择属于 jar 的任何内容,输入名称并单击完成(注意表示导出生成的类文件和资源的复选框)。
关于 Ant/ Maven 和其他东西:这些只是帮助你的工具。您可以通过打开控制台来归档相同的结果并使用 javac.exe 进行编译,您可以使用 ant 或 maven 来编译您的类。它只是一个配置问题。
我建议你在这里跳过 Ant,直接做 Maven in 5 Minutes 教程:)
你的方法有效。但是你可以有两个具有相同名称和包的类。这将消除更新 jar 文件的必要性。
您必须设置加载顺序以确保将使用您的新修改版本而不是 jar 文件中的版本。 可以使用两个具有相同名称和相同包的 java 类吗?
在任何调整和类加载器之前,测试这种方法,可能默认的类加载器行为会做你想要的。