尽管我可能尝试,我无法获得一个JNLP文件在本地运行(通过双击)。即使当我相对于jnlp文件指定jar文件时,它似乎也是定位jar文件的一个问题。我得到以下错误:
字段href有一个无效的值: helloworld.jar
即使JNLP文件与helloworld.jar位于同一个文件夹中,也会发生这种情况。我做过搜索,这是一个一致的问题,特别是对于那些想要在CD上打包应用程序并使用JNLP的人。Sun提供的唯一“解决方案”是通过命令行指定代码库的能力,但这并没有多大帮助。我不明白他们为什么不假设或允许代码基是“。或者"file://.“-我在jnlp标记的代码基参数中尝试了这类东西(在文件中),但是没有任何效果。
对于我来说,使用JNLP文件非常方便,因为我不需要担心平台检测、本机库,甚至主要的JOGL jar文件;我只需包含这一行,就可以完成所有工作:
<extension name="JOGL" href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />我希望能找到能做同样事情的东西。如果没有,我可以手动(或者用Ant)抓取JOGL文件,这不是什么大事;只是JNLP为我做的事情之一,我真的会错过。
什么是JNLP文件的最佳替代方案,我可以在本地使用(即双击运行)?难道我需要为Linux编写一个shell脚本,一个用于Windows的批处理文件,并让Ant检测并下载适当的JOGL吗?
发布于 2010-03-10 13:00:53
我使用了这样一个.jnlp文件在本地启动软件
指定代码库,如:具有相对路径的<jnlp spec="1.0+" codebase="file://localhost/X:/path/to/jnlp/" href="software.jnlp">
<resources> <jar href="lib/software.jar" main="true" /> <jar href="lib/softwareLibrary.jar" main="true" /> ... </resources>
main="true":<application-desc main-class="com.example.Main" />的jar中找到软件入口点
在远程部署时,唯一需要更改的是代码基参数。
发布于 2012-06-21 06:01:48
只需将属性codebase和href从jnlp标记中删除即可。
<jnlp spec="1.0+">这是自Java1.6u 18以来支持的。
发布于 2010-01-09 09:55:25
JNLP系统在Java 6 update 10 (前一段时间)中得到了改进,但它仍然很难调试(在Java控制台中启用完全跟踪,并逐步遍历javaws源代码)。
在你的情况下,我会多走一英里让它开始工作。也许您会提供一个完整的JNLP文件来显示问题?
https://stackoverflow.com/questions/2032491
复制相似问题