-3

我有 services.jar 文件,并且这个 jar 文件中的包很少。我需要修改其中一个 java 类的代码。

示例 - services.jar

services.jar 中的包 - search , util

搜索包内的类 - Filter.java - 需要编辑此代码并需要制作一个新的 jar 文件。

请指导我。

4

3 回答 3

3

如果您有想要修改的代码,您可以这样做。如果是,那么您必须从命令行或使用任何工具(如 winrar)提取 jar。这是从命令行提取 jar 的命令:

jar -xvf services.jar

替换提取目录中修改或更新的 /class 文件,并使用命令行中的以下命令重新创建 jar:

jar -cvf services.jar
于 2013-05-14T00:28:42.960 回答
1

您不应该更新 java 文件。Jar 文件用于归档已编译的 java 类

相反,您应该在进行更改后更新类文件

参考这篇文章

于 2013-05-14T00:35:17.110 回答
0

如果必须,您可以在类路径上将另一个放在它前面的 jar 文件隐藏起来。但是,如果您不了解自己在做什么,并且错过了一些依赖项,那么您很可能会得到一个NoClassDefFoundError.

如果您需要修改类的部分行为,您可以使用 AspectJ 编织一个方面。Around如果要替换行为,可以使用方面。

于 2013-05-14T01:20:16.773 回答