当前位置: 首页 > 面试题库 >

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

邓令
2023-03-14
问题内容

我有一个使用Java 1.4编译的第三方JAR文件。有没有可以使jar文件与Java 1.6兼容的工具?(有点像“
retrotranslator”,但它的反作用是什么)。
我尝试反编译类文件并在1.6中重新编译它们,但失败。

这是问题所在:

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

问候
-Ashish


问题答案:

由JDK 1.4编译的类应按原样在Java 6运行时中使用。如果您确实遇到问题,请描述一下。

更新: 我只能使用“默认”包中的类型(即不在包中)重现此内容。您要在默认软件包中使用的类吗?另外,无论用于编译的JDK版本如何,这都会发生在我身上。

更新: 好的,经过一番研究,我意识到您永远无法从命名包中引用未命名包中的类型。很有道理,但绝对不是您遇到的问题。

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



 类似资料:
  • 问题内容: Java版本之间是否存在不兼容的问题,其中针对Java版本X的Java源代码/ Java类文件不会在版本Y(其中Y> X)下编译/运行? “ Java版本”是指诸如以下的版本: JDK 1.0(1996年1月) JDK 1.1(1997年2月) J2SE 1.2(1998年12月) J2SE 1.3(2000年5月) J2SE 1.4(2002年2月) J2SE 5.0(2004年9月

  • 问题内容: bootstrap 3版本会与当前的AngularJS bootstrap指令兼容吗? 我想在AngularJS中使用Bootstrap 2.3.1指令: http://angular-ui.github.io/bootstrap/ 使用Bootstrap 3.0.0 CSS: https://github.com/twitter/bootstrap/tree/3.0.0-wip/ 为

  • 我正在寻找能够在Eclipse中运行cucumber的jar文件及其版本的列表。 为了在Eclipse中运行Cucumber,我需要一组兼容的Jar文件。我使用的是一个非常过时的集合,因为我发现不可能找到一个可以一起工作的新集合。下面是我正在使用的Jars列表,我知道它可以工作...已经过时好几年了: cucumber-core-1.2.6.jar cucucumbe-html-0.2.1.jar

  • 问题内容: 我正在尝试使用保存在同一jar中的Java代码读取jar中保存的xsd文件。我正在使用以下代码。 当我将其作为单独的项目运行时,它运行良好,但是当我创建一个jar时,tmpurl为null,因此setSchema提供了null指针异常。 您能否请一种可以使其甚至在jar文件中运行的变通办法。 问题答案: 你尝试过哈瓦吗? 您在jar中的清单文件中也很重要。 请在这里查看已接受的答案:

  • 我知道在java源代码中以字符串形式存储密码是不安全的。通常,最好将其存储在具有char[]类型的变量中。以以下形式存储密码安全吗? 字符串“my password”是否出现在编译的java类文件中?在我看来,在编译源代码之后,“我的密码”不会出现在我的类文件中。但我仍然不能100%确定我可以使用描述的表示来存储密码。 我能否安全地使用这个结构,并确保密码受到保护,除非有人从源代码中获取密码? 编

  • 问题内容: 我正在尝试使用JBoss Weld编写Java SE swing应用程序。Weld使用jar中的以下log4j.xml文件配置log4j的日志记录: 我想完全禁用应用程序中的日志记录。我试图通过提供log4j.properties文件来禁用它,如下所示: 无论我做什么,我都无法阻止来自Weld的log4j消息出现在控制台中。我要做的就是完全禁用日志记录。但是如何? 问题答案: 发布此问