【问题标题】:Can a Java applet use v1.7 or 1.8 as available without warning?Java 小程序可以在没有警告的情况下使用 v1.7 或 1.8 吗?
【发布时间】:2015-03-30 22:44:57
【问题描述】:

我支持的站点中的一个小型 Java 小程序 [已编辑:这甚至可能不是正确的词:这是 JNLP] 目前是为 Java v1.7 编译的。随着 v1.8 变得越来越普遍,我们的用户收到类似 Firefox 的警告“此应用程序想使用您的系统上未安装的 Java (1.7) 版本。我们建议在您的系统上使用最新版本的 Java 运行该应用程序。计算机。”有什么方法可以重建我们的小程序以首先尝试 1.8 Java,如果 1.8 不可用,则只尝试较旧的 1.7,最好在任何一种情况下都不需要询问用户? (FWIW,我是一个非常有经验的开发人员,但是一个相当缺乏经验的 Java 开发人员。)

【问题讨论】:

  • html 在<applet> 部分是否有这样的一行? <param name="java_version" value="1.7*">
  • 嗯,即使使用“applet”这个词,我也可能是错误的(正如我所说,这肯定比我意识到的更具体,相当缺乏经验的 Java 开发人员;这是 JNLP)。因为这里没有像 HTML 那样带有“applet”元素的东西。
  • 啊,谢谢你的澄清。您的 .jnlp 文件是否有一个 <resources> 部分,该部分指定像 <j2se version="1.7*"> 这样的 java 版本?如果是这样,将星号更改为加号可能会解决您的问题,因此改为“1.7+”。
  • 其实有。这无疑是罪魁祸首。现在不在工作,但我会在工作时将其更改为“1.7+”。谢谢!如果你把它写成答案(并且很可能假设它解决了问题),我可以相信你的答案是正确的。

标签: java applet java-web-start jnlp


【解决方案1】:

applet 可以在代码的<resources> 部分使用这样的一行来指定所需的 java 版本:

<j2se version="1.7*">

指定的版本号可以以数字、星号或加号结尾。

  • 1.7 意味着版本必须是 1.7。
  • 1.7* 表示等于或高于 1.7 但小于 1.8 的任何内容(如 1.7.1)。
  • 1.7+ 表示 1.7 或更高版本(包括 1.8)。

如果您的代码应该在 Java 7 或 Java 8 上运行良好,那么您会希望“1.7+”表明您对此并不挑剔。

【讨论】:

  • 接受这个可能为时过早(我的 QC 家伙可能会告诉我它没有解决问题),但它确实看起来像我正在寻找的答案。谢谢!
猜你喜欢
  • 2017-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
相关资源
最近更新 更多