我正在通过tomcat服务器的webstart运行我的Java-FX应用程序。 在对jar进行签名和版本控制之后,我在通过Web浏览器访问它时遇到了这个问题。 我正在使用jnlp和version协议通过tomcat服务器启动应用程序。
ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Unable to load resource:
(httP://127.0.0.1:8080/gyms/lib/commons-collections-3.2.1.jar?version-id=1.0.1, 1.0.1)
at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
答案 0 :(得分:0)
您似乎正在使用带有这样的行的jnlp文件:
<jar href="commons-collections-3.2.1.jar" version="1.0.1" />
所以你使用的是基于版本的下载协议。这将导致服务器查找名为commons-collections-3.2.1__V1.0.1.jar
的文件,该文件显然不存在。
底线:不要在jnlp中指定两个冲突的版本号。决定是否要使用版本化下载并省略href
- 属性中的版本号,或使用简单下载并省略version
- 属性。
答案 1 :(得分:0)
问题解决了,因为我正在使用Java 1.7.51更新,而且我使用的是第三个api,java 8中也不支持它也安装在我的桌面上。 程序(x86)不应该具有比java 7更大的任何java版本,因为应用程序仅从x86获取java / bin。 这就是为什么失败的下载异常将在运行时发生。