有时Java中存在严重的回归错误,导致我们的产品无法使用。所以我想禁止相关版本,例如目前为8u161和8u162(错误JDK-8195830)。
我怎样才能在JNLP中这样做? docs仅提及$('.your-slider').slick({
dots: false
});
作为通配符。那么列出所有其他Java版本的唯一可行方法是什么?像
+
......直到......
<java version="1.8.0_05"/>
<java version="1.8.0_11"/>
更新 所以结果看起来像这样。
<java version="1.8.0_151"/>
<java version="1.8.0_152"/>
结论:最后我决定不在JNLP中提供任何版本限制,因为弹出窗口表示它建议启动应用程序 - 这与我要说的完全相反用户。
答案 0 :(得分:1)
问题似乎是* racle似乎已经放弃了对加载和使用早期JRE的支持,除了最新的JRE。 您的方法似乎是唯一的纯JNLP方式,也是suggested。
您也可以尝试将它写在一个由空格分隔的大行中。我唯一要改变的是订单,以便最高的是顶部。
“如果指定了几个JRE,则表示优先列表 支持的JRE,最首选版本。“
您可能希望查看here
发布的类似问题排除特定Java版本的另一种方法是在您的应用程序中进行检查。
public static void main(String [] args) {
String version = System.getProperty("java.version");
if("1.8.0_161".equals(version) || "1.8.0_162".equals(version){
//print an error dialog
}
else{
//continue normal flow
}
}
在以前的应用程序中,我甚至更进一步,有两个不同的Web应用程序:在实际应用程序之前启动的“轻型”Web应用程序。这个轻量级的应用程序几乎没有关于Java版本的要求(甚至以1.4开头),然后它会检查所有必要的要求(Java版本,操作系统,内存,CPU,文件......)。只有在一切顺利之后,实际应用才会开始。