Java 当启动JNLP文件时,幕后会发生什么?
我正试图调试一个过时JNLP资源的问题,并希望更好地了解它们实际上是如何工作的 我使用JNLP文件从远程服务器运行应用程序。在我的测试中,我设法创建了一个副本JNLP,如下所示,它将从我的本地机器中提取资源:Java 当启动JNLP文件时,幕后会发生什么?,java,eclipse,java-web-start,jnlp,Java,Eclipse,Java Web Start,Jnlp,我正试图调试一个过时JNLP资源的问题,并希望更好地了解它们实际上是如何工作的 我使用JNLP文件从远程服务器运行应用程序。在我的测试中,我设法创建了一个副本JNLP,如下所示,它将从我的本地机器中提取资源: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="file:/C:/local/path/to/my/jnlp" href="Client.jnlp"> <infor
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:/C:/local/path/to/my/jnlp" href="Client.jnlp">
<information>
<title>Client</title>
<description>Development Testing</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" />
<property name="jnlp.env" value="dev"/>
<jar href="lib/client.jar" main="true"/>
<jar href="lib/Utils-1.3.6-SNAPSHOT.jar"/>
</resources>
<application-desc main-class="path.to.main.client.Class" />
</jnlp>
客户
开发测试
我在Eclipse中运行了这个程序,一切似乎都按照预期运行。然后,我将JNLP文件从Eclipse复制到我计算机上的另一个目录中,运行该文件,它再次按预期工作
然后,我将保存的文件更改为以下文件:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:/C:/local/path/to/my/jnlp" href="Client.jnlp">
<information>
<title>Client</title>
<description>Development Testing</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" />
<property name="jnlp.env" value="dev"/>
<jar href="lib/client.jar" main="true"/>
<jar href="lib/Utils-1.4.1-SNAPSHOT.jar"/>
</resources>
<application-desc main-class="path.to.main.client.Class" />
</jnlp>
客户
开发测试
当我重新运行在Eclipse外部复制的JNLP时,它给了我一个错误,说它找不到Utils-1.4.1-SNAPSHOT.jar文件。然而,在Notepad++中检查JNLP时,我看到
条目仍然是Utils-1.3.6-SNAPSHOT.jar
这最终让我想到了两个问题:
C:\Users\\AppData\LocalLow\Sun\Java\Deployment\cache\
应该有这些文件,但我看到的只有两个名为“security”和“6.0”的目录。“6.0”文件夹中的文件和文件夹在运行JNLP时似乎会更新,但它们只是另一组编号为0-63的神秘文件夹,其中包含名称为十六进制字符串的文件李>
我非常感谢您能深入了解这些东西的内部工作原理。
javaws-viewer
将向您展示缓存的应用程序javaws-clearcache
将清除它们。我确信按平台划分的缓存文件的位置在stackoverflow.com上的某个地方。对于一般错误,您也可以尝试JaNeLa-它是一个JNLP分析器。。。()@Lonzak我的网站上也有一罐JaNeLA制作的罐子。@AndrewThompson啊,好的,我搜索了一下,但没有找到任何东西。谢谢你的链接@Lonzak“我搜索了它,但什么也没找到。”是的,我猜是一些小应用。在“搜索”计划中,我的共享驱动力排名不高。“谢谢你的链接!”不客气javaws-viewer
将显示缓存的应用程序javaws-clearcache
将清除它们。我确信按平台划分的缓存文件的位置在stackoverflow.com上的某个地方。对于一般错误,您也可以尝试JaNeLa-它是一个JNLP分析器。。。()@Lonzak我的网站上也有一罐JaNeLA制作的罐子。@AndrewThompson啊,好的,我搜索了一下,但没有找到任何东西。谢谢你的链接@Lonzak“我搜索了它,但什么也没找到。”是的,我猜是一些小应用。在“搜索”计划中,我的共享驱动力排名不高。“谢谢你的链接!”不客气