我使用jdk1.7.0_72
在Eclipse上安装了Java应用程序从runnable jar运行项目时遇到问题,从Eclipse运行时,应用程序运行正常。该应用程序使用cacert,当我使用runnable jar时,由于某种原因失败了。我注意到的是,当我从Eclipse运行它时,runnable jar的java版本是不同的。这导致了问题。
以下是从Eclipse运行时系统属性的片段:
**sun.boot.library.path=C:\Program Files\Java\jdk1.7.0_72\jre...
java.vm.version=24.72-b04
java.runtime.version=1.7.0_72-b14
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jdk1.7.0_72\jre…
java.library.path=C:\Program Files\Java\jdk1.7.0_72\bin…**
以下是我从JAR运行时系统属性的片段:
**sun.boot.library.path=C:\Program Files\Java\jre7\bin
java.vm.version=24.75-b04
java.runtime.version=1.7.0_75-b13
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jre7\lib\endorsed
java.library.path=C:\Program Files\Java\jre7\bin;C:\Win…**
如何让JAR使用与Eclipse使用的版本相同的版本?
当我运行java -version时,我得到了这个: “1.7.0_72” 当我点击关于Java时,我得到了这个: “1.7.0_75-B13”
答案 0 :(得分:0)
如果您运行JAR,它将使用您在PATH变量上设置的Java版本。如果从Eclipse运行它,您可以告诉Eclipse使用哪个版本。正如您所看到的,library.path变量是不同的,因此您在每种情况下都要加载不同的Java。
您可以在PATH变量中设置正确的Java版本,也可以在Preferences - Java - Installed JRE的菜单中将其设置在Eclipse中。
答案 1 :(得分:0)
您的计算机上至少安装了两个Java版本。
您可以根据本指南更改环境系统变量中的java: https://docs.oracle.com/javase/tutorial/essential/environment/paths.html
答案 2 :(得分:0)
你肯定使用不同的JRE。
您已安装JDK和JRE。恰好JDK有一个内部JRE,您可以在第一行看到:
**sun.boot.library.path=C:\Program Files\Java\jdk1.7.0_72\jre...
JRE安装在这里
C:\Program Files\Java\jre7\bin
您最好的选择是指向Eclipse使用已安装的JRE执行您的JAR,因为另一个选项是要求JAR使用Eclipse JDK / JRE,如果您想将JAR分发给没有&#的计算机,那么这将是有问题的。 39;安装了Eclipse。
在Eclipse中,您可以指定多个JRE并命名它们,创建一个新的并给它这条路径,然后您可以转到项目的运行选项并告诉它在运行时使用此库你的JAR。
答案 3 :(得分:0)
" runnable jar的java版本"因执行环境不同而无法区分:它是JVM版本。
问题是 jar 的编译版本高于执行环境。
在 Eclipse IDE 中:
使用文件 / 导出 / jar文件清理/重新编译项目并重新导出 jar 文件