Java 重构Jar中的包

Java 重构Jar中的包,java,refactoring,jar,decompiling,Java,Refactoring,Jar,Decompiling,我需要一次加载两个版本的jar。为了避免类路径冲突,我想重命名其中一个JAR的包。然后在源代码中,您总是可以通过包名轻松确定版本 我玩过javap,但找不到适用于Java1.6的汇编程序。我也尝试过用反编译代码,但它从来没有完全正确,也无法编译

我需要一次加载两个版本的jar。为了避免类路径冲突,我想重命名其中一个JAR的包。然后在源代码中,您总是可以通过包名轻松确定版本


我玩过
javap
,但找不到适用于Java1.6的汇编程序。我也尝试过用反编译代码,但它从来没有完全正确,也无法编译您可以使用开源软件包:JclLoader,它有助于加载同一jar的不同版本。这也是我们的一个系统进行测试的需要


链接:

您是在寻找反编译器还是另一种解决方案?JD是唯一一个似乎仍在维护的编译器,其他所有编译器都是90年代的,我没想到他们会使用1.6。但我不会选择,我只是在寻找解决方案。您需要使用同一类的一个或另一个版本吗?你能详细说明你想要实现什么吗?这两个jar文件如何在应用程序中出现?请扩展您的问题,详细描述您希望如何使用此功能。因此,我们需要加载两个版本的客户端api,以便可以使用两个不同的服务器版本。两个版本的代码并排放置,当前没有自定义类加载。该构建将所有必需的jar放在一个目录中进行编译。该应用程序还部署为WAR文件。理想情况下,我们会更新Jars包,然后更新其中一个客户机的代码以使用新包。这不是一个永久性的解决方案,而是一个真正的修复(使用OSGI或更改构建)在不久的将来将不会完成。我们考虑过这一点,但我们决定,如果我们想开始使用类加载器,我们应该正确地使用OSGI。不幸的是,现在没有时间来实现这一点。