【问题标题】:How to select which JDK to run programatically如何选择以编程方式运行的 JDK
【发布时间】:2015-09-09 03:24:09
【问题描述】:

我在谷歌上搜索Java Swing 的“加载”功能,结果出现在这个tutorial.我下载了.jnlp 文件并尝试运行它。我收到一条错误消息,提示“您的安全设置已阻止应用程序使用过期或过期的 Java 版本运行。

然后想到一些问题,问我们如何在不更改设置的情况下解决这个问题。

所以,我的问题是,我们可以预先定义在代码中使用哪个 jdk。例如,我的机器中有jdk 6jdk 7jdk 8,我可以在我的代码中设置jdk 使用。假设我想使用jdk 6 来使用我如何在我的代码中设置并且也可以在其他平台上得到支持。任何建议或参考链接以了解更多信息,我们将不胜感激。

【问题讨论】:

  • "您的安全设置已阻止应用程序.." 您真的认为您可以通过指定更早的杰瑞?这将是一个巨大的安全漏洞,因此 Oracle 似乎已经放弃了对加载早期 JRE 的所有支持。
  • @AndrewThompson 你是说,一旦我们升级了jre,就没有办法使用低版本了,除非你我们卸载它。如果我错了,请纠正我
  • 当你编译你的应用程序时,你的目标是一个特定的运行时版本。您所要求的就像买一辆车,当您进入其中并启动它时,决定“我不想要这个 v8 发动机;汽车,使用 2 冲程运行。”
  • “一旦我们升级了 jre” 请注意,JRE 安装程序从 Java 1.6 后期开始就启用了“自动更新”,因此除非在使用任何 JRE 时禁用它,即使卸载以后的 JRE 也不会长期有帮助。
  • @AndrewThompson 您在谈论自动更新时专门谈论 Windows 安装,对吗? windows 安装程序还具有静态安装选项,以绕过覆盖特定版本 iirc 的自动更新。不要过多使用windoze,否则可能会出错。

标签: java swing java-8 java-7 java-web-start


【解决方案1】:

尝试在您的环境变量中设置 JAVA_HOME 变量。将其指向您的 C:\Program Files\Java\jdk\jre 此外,在 Java 控制面板中,您可以在 Java 运行时环境设置中选择您的 jre

【讨论】:

  • 我的问题是如何通过编码进行控制。
【解决方案2】:

您可以检查代码中的 java 版本,如果它不是您想要的,则停止执行,或者检查其他可用的 JRE 并在您想要的可执行文件上运行另一个 jvm 进程。

或者您可以编写一个脚本或另一个在您的代码之前运行的程序来执行此操作,然后运行 ​​jvm 进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2012-11-28
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多