我有services.jar文件,并且在这个jar文件中包含很少的包。我需要修改其java类的代码。
示例 - services.jar
services.jar中的包 - search,util
搜索包中的类 - Filter.java - 需要编辑此代码并需要创建一个新的jar文件。
请指导我。
答案 0 :(得分:3)
如果您有可以修改的代码,则可以这样做。如果是,那么您必须从命令行或使用任何工具(如winrar)提取jar。以下是从命令行中提取jar的命令:
jar -xvf services.jar
替换解压缩目录中的modified或updated / class文件,并使用命令行中的以下命令重新创建jar:
jar -cvf services.jar
答案 1 :(得分:1)
答案 2 :(得分:0)
如果必须,您可以将jar文件与类路径上位于其前面的另一个文件相混淆。但是,如果您不明白自己在做什么,并且错过了一些依赖关系,那么您很可能会得到NoClassDefFoundError
。
如果您需要修改类的行为的一部分,您可以在AspectJ的方面编织。如果要替换行为,可以使用Around
方面。