Java Runtime不符合分发条件

时间:2014-06-01 18:56:20

标签: java runtime version evaluation

我在尝试运行我创建的Java程序以及Jet Control Panel和JetPack 2时遇到了这个奇怪的错误。我试图在不同的计算机上运行它,结果相同。

enter image description here

3 个答案:

答案 0 :(得分:2)

configuring the JET Runtime的手册页中,JetPackII附带了一个关于system files的部分,它告诉您JET包含自己的Java运行时库副本。

错误消息告诉您使用JET打包的Java Runtime是过期的评估版本。这表明您的JET版本是已过期的评估版本。

有几种方法可以解决此错误:

  • 支付licensing fee
  • 获取free license用于非商业用途
  • 尝试安装另一份为期90天的评估版
  • 找到另一种打包软件的方法

来自Excelsior JET User's Guide

的偷渡式读卡器的背景信息
  

Excelsior JET是一个工具包和完整的运行时环境,用于优化,部署和运行用Java编程语言编写的应用程序。

答案 1 :(得分:0)

也许你可以尝试重新安装java运行时环境(jre)然后再次导出它。您是否尝试过运行它而不将其放入exe中?

答案 2 :(得分:0)

编译时,大多数Java应用程序最终成为一系列.class文件(包含字节码),然后存档到.jar(java存档)文件中。此JAR文件实际上是一个zip格式文件,对应于某些布局和压缩规范。为了运行,必须将该JAR文件提供给Java运行时环境(JRE),该环境包含库和虚拟机(JVM),并且通常直接从Oracle服务器下载。

jar文件不同,exe文件包含Windows可以在没有JRE的情况下本机运行的代码。通过输出.exe文件,IDE可以执行以下两项操作之一:

  1. 添加" stub"找到用户已经安装的JRE,然后将该exe文件中打包为Java字节码的其余应用程序提供给它。如果找不到JRE,程序将失败。一个例子是可能已解散的JSmooth library

  2. 使用整个Java Runtime Environment本身打包应用程序,这使得它可以执行Java字节码,而不管用户系统上已经安装了什么。您可能必须购买许可证以在您的应用程序旁边重新分发JRE(可能是Oracle的官方JRE,也可能不是)。 这可能是你在这里发生的事情。

  3. 为了帮助确认是这种情况,请发布您正在使用的IDE的名称,并检查exe - 生成命令下有关重新分发,许可证,运行时和JRE / JVM的选项

    StackOverflow确实有一些关于"converting a Java program into a .exe file"的现有答案,您可能会发现这些答案对上下文有帮助。