Java:是否有工具使代码(在第三方JAR中)向前兼容(1.4 - 1.6)

Vin*_*ini 1 java decompiling

我有一个使用Java 1.4编译的第三方JAR文件.有没有一个工具可以使jar文件与Java 1.6兼容?(像'逆转译器'的东西,但它的反面是什么).
我尝试反编译类文件并在1.6中重新编译,但它失败了.


这是问题:

我的项目使用'rsadapter.jar'为5.1,我在Eclipse 2.0 + JDK 1.4中进行了项目设置,它曾经工作正常.现在,我已经迁移到Java 1.6和Eclipse Ganymede(根据要求)和同一个项目(完全相同的设置)开始抱怨'rsadapter.jar'中缺少的类文件.我也明确地将JAR放在classpath中,但它仍然无法加载类.然后我将Java Compiler版本更改为1.4并开始工作.

问候,
- Ashish

eri*_*son 5

JDK 1.4编译的类应该可以在Java 6运行时中使用.如果您确实遇到了问题,请说明一下.


更新:我只能使用"默认"包中的类型(即不在包中)重现此类.您尝试在默认包中使用的类是什么?而且,无论用于编译的JDK版本如何,这都发生在我身上.


更新:好的,经过一些研究,我意识到你永远不能从命名包中引用未命名包中的类型.有道理,但绝对不是你遇到的.

我可以在JDK 1.4.2_19下编译代码,并在Java 6 Eclipse项目中很好地利用它.我认为这个问题是您的环境特有的.在这种情况下,我会备份Eclipse并从头开始重新创建所有内容(JDK安装,工作区,项目),看看是否可以清除它.