【发布时间】:2012-11-25 20:17:32
【问题描述】:
对于jdk 1.6,可以在这里找到(根据Where can i download JNLP.jar):
${java.home}/sample/jnlp/servlet/jnlp.jar
但是,我在我的 jdk 7 主页中没有看到这个目录。
它去哪儿了?
【问题讨论】:
标签: java jnlp java-web-start
对于jdk 1.6,可以在这里找到(根据Where can i download JNLP.jar):
${java.home}/sample/jnlp/servlet/jnlp.jar
但是,我在我的 jdk 7 主页中没有看到这个目录。
它去哪儿了?
【问题讨论】:
标签: java jnlp java-web-start
在 java 7 javax.jnlp.* 包是 jre 的一部分,可以在以下路径的 javaws.jar 中找到
C:\Program Files\Java\jre7\lib\javaws.jar
如果使用 maven:
<dependency>
<groupId>javax.jnlp</groupId>
<artifactId>jnlp-api</artifactId>
<version>7.0</version>
<scope>system</scope>
<systemPath>${java.home}/lib/javaws.jar</systemPath>
</dependency>
如果您在使用 jnlp-download-servlet 和 jnlp-servlet.jar
之前作为 jdk 的一部分提供的示例现在必须从 oracle 单独下载: Scroll down to "demos and samples"
有人很好,并在 maven repos 中放了一份副本(如果 oracle 更新他们的,我们不能确定它不会落后..):
<dependency>
<groupId>org.codehaus.mojo.webstart</groupId>
<artifactId>webstart-jnlp-servlet</artifactId>
<version>1.0-6.0.02_ea_b02.2</version>
</dependency>
编辑:正如 Zalumon 在他的回答中所说,javax.jnlp.* api 也可以在示例包中找到。应该建议下载此文件并将 jnlp.jar 从那里添加到类路径中,而不是像我上面建议的那样添加 javaws.jar。
【讨论】:
org.codehaus.mojo.webstart:webstart-jnlp-servlet:1.0-6.0.02_ea_b02.2 和 org.codehaus.mojo.webstart-jnlp-servlet:webstart-jnlp-servlet:1.0-beta-4 中的代码,看起来两者中的后者是可以使用的。它似乎得到了维护,因为我一眼就看到了其中的几个错误修复。
感谢您提供的所有提示 - 我不知道有单独的示例下载。
这就是我最终做的事情(请注意,我有自己的远程存储库,所以这可能不适用于您):
我从 Oracle 的网站下载了 jdk7 示例。在里面我找到了一个 jnlp.jar,它只包含 jnlp API:
sample\jnlp\servlet\jnlp.jar
我将其作为 jnlp-api-1.7.jar 部署到我的私有远程存储库(工件),然后像这样配置 pom.xml('provided' 范围,因为在运行时这些类由 javaws.jar 提供,正如所指出的那样由 Aksel Willgert 出品):
<dependency>
<groupId>javax.jnlp</groupId>
<artifactId>jnlp-api</artifactId>
<version>1.7</version>
<scope>provided</scope>
</dependency>
为了完整起见,放一张部署到工件的屏幕截图:
【讨论】: