Eclipse:导出要在较旧的JRE上执行的Runnable JAR文件

时间:2013-05-24 08:07:01

标签: java eclipse executable-jar

从Eclipse导出Runnable JAR文件是迄今为止从另一台机器上的命令行启动Eclipse项目的最快方法。 See this answer

问题是,如果要运行的计算机上安装的JRE早于Eclipse使用的JDK,则会出现此错误:

java.lang.UnsupportedClassVersionError: test_hello_world : Unsupported major.minor version 51.0

我知道在Eclipse上我可以构建具有较低合规性级别的项目(例如,1.6而不是1.7),但这似乎不会影响导出的JAR文件。

有关如何导出要在较旧的JRE上执行的Runnable JAR文件的任何想法吗?

5 个答案:

答案 0 :(得分:1)

此过程似乎对我有用(我使用Java 1.2和Eclipse Juno进行了测试):

  • 创建一个新项目。
  • 将执行环境设置为J2SE-1.2。
  • 创建一个主要类,将一行打印到System.out。
  • 运行项目。
  • 导出runnable jar。
  • 在JRE 1.2中运行jar。

答案 1 :(得分:0)

通过使用Maven,您可以指定任何版本的JRE。在结果中,您将获得jar文件构建到指定版本的JRE。例如:

<plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
</plugins>

答案 2 :(得分:0)

更改合规性级别应该有效。您必须执行项目的重建。当您导出Jar eclipse时,不要仅为了打包它来编译项目,它会使用已编译的文件。

答案 3 :(得分:0)

更改您的&#34; Java编译器&#34;日食中的设置。 使编译器合规性级别为1.6。

How can I build a jar for a previous Java version?

然后导出&#39; Runnable Jar&#39;。它会工作!!

答案 4 :(得分:0)

我更改了合规级别,然后还必须执行以下操作:

  • 右键单击每个项目并打开属性 - > Java Build Path-&gt; Libraries
  • 删除您不想要的JDK,在我的案例中是JDK 8
  • 添加库 - &gt; JRE系统库 - &gt;选择您想要的版本,在我的情况下为7
  • Java Complier - &gt;将合规性级别设置为您想要的级别,在我的情况下为7
  • 点击“确定”,根据需要重复。