Java 使用';jar uf…';没有人接

Java 使用';jar uf…';没有人接,java,eclipse,jar,Java,Eclipse,Jar,我试图在一个类中做一些细微的更改,并将其替换为一个.jar文件。我没有.jar中大多数类的源代码,尽管开发人员友好地向我提供了我感兴趣的类的代码 我创建了一个项目,编译了修改后的类,小心地保留了原始类和包名,然后将生成的.class文件复制到target.jar所在的目录下。我还保持了目录结构的完整性,如下所示: cd {the directory of the target .jar} mkdir com\{company name}\{package name} copy {full pat

我试图在一个类中做一些细微的更改,并将其替换为一个.jar文件。我没有.jar中大多数类的源代码,尽管开发人员友好地向我提供了我感兴趣的类的代码

我创建了一个项目,编译了修改后的类,小心地保留了原始类和包名,然后将生成的.class文件复制到target.jar所在的目录下。我还保持了目录结构的完整性,如下所示:

cd {the directory of the target .jar}
mkdir com\{company name}\{package name}
copy {full path to my .class file} com\{company name}\{package name}
jar uf {target .jar} com\{company name}\{package name}\{class name}.class
当我对文件执行“jar-tvf”时,我注意到我所处理的类的日期发生了变化——但是当我重新启动使用jar的应用程序时,这些变化(为了便于检测,我在日志消息中做了一些修改)不起作用

我看了这个,
但我意识到我已经在做它暗示的事情了。还有什么其他方法可以检查我是否做对了?(或者更确切地说,我做错了什么)我在工作中使用Spring工具套件,所以使用Eclipse的任何操作都可以:)

如果jar中类的时间戳和文件大小与新版本匹配,那么我倾向于认为您正确地更新了jar。在这种情况下,如果这个类的旧副本仍然被使用,那么肯定会有另一个副本在某处。当然,这也是我的思路。我只是不确定是否有任何附加条件,如版本号等。