试试我可能,我不能让一个JNLP文件本地运行(通过双点击)。它似乎是一个问题寻找一个罐子文件,甚至当我指定它相对于jnlp文件。我得到的以下错误:

该领域 <jar>href已经无效 价值:helloworld.jar

发生这种情况甚至当JNLP文件是在同一个文件夹helloworld.jar.我所做的搜索和这个是一致的问题,特别是人谁不想打包一个应用程序的光盘和使用JNLP.唯一的太阳提供的"解决"是指定的代码通过命令行,但这并没有真正有多大帮助。我不明白他们为什么不假定或允许的代码是"."或"file://." -我试过了这些各种各样的事情在代码参数的jnlp标签(内部文件),并没有什么工作。


这是非常方便我使用一个JNLP文件,因为我不需要担心检测平台、土库、或甚至主要JOGL罐子文件;我只包括这条线,一切都是为我做的:

<extension name="JOGL" href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />

我希望能找到的东西,可以做同样的事情。如果没有,我可以手动(或蚁)抓住JOGL罐子文件,它不是一个大问题;只要那些东西,JNLP不对我和我真的要错过。


什么是最好的替代JNLP文件,对我来说,使用当地(即双击运行)?有什么那么优雅或者我只是需要编写一shell script for Linux,一批文件,用于Windows,并有蚂蚁检测和下载的适当JOGL的罐子?

有帮助吗?

解决方案

我已经用。jnlp文件像这样的启动Java网的启动软件在本地

  1. 指定的代码基像这样:<jnlp spec="1.0+" codebase="file://localhost/X:/path/to/jnlp/" href="software.jnlp">

  2. 列资源的相对路径: <resources> <jar href="lib/software.jar" main="true" /> <jar href="lib/softwareLibrary.jar" main="true" /> ... </resources>

  3. 最后告诉网开始在那里可以找到软件的进入点的内部瓶标有 main="true": <application-desc main-class="com.example.Main" />

你唯一需要的改变时,部署的远程是代码的参数。

其他提示

只是删除从codebase标签的属性hrefjnlp

<jnlp spec="1.0+">

这是由于Java 1.6u18支撑。

在JNLP系统用的Java 6更新10(而回)改善,但它仍然是相当难以调试(使能在Java控制台完全跟踪,并通过javaws的源代码步进。

在你情我愿走一英里,并得到它的工作。也许你会提供显示问题的完整JNLP文件?

使用清单为您的罐子。在那里,你可以定义主类,以启动和所需的库。看到在清单规范主级和类路径参数。

JNLP是专为网络启动(特别是HTTP(S)),并没有网络的Java实现必须得到真正的困惑。即使成熟的项目等蚀棒与.SH,.BAT选项。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top