如何修改.jar文件中的.java文件?

时间:2013-05-14 00:22:28

标签: java

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

示例 - services.jar

services.jar中的包 - search,util

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

请指导我。

3 个答案:

答案 0 :(得分:3)

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

jar -xvf services.jar

替换解压缩目录中的modified或updated / class文件,并使用命令行中的以下命令重新创建jar:

jar -cvf services.jar

答案 1 :(得分:1)

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

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

请参阅此article

答案 2 :(得分:0)

如果必须,您可以将jar文件与类路径上位于其前面的另一个文件相混淆。但是,如果您不明白自己在做什么,并且错过了一些依赖关系,那么您很可能会得到NoClassDefFoundError

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