对于jdk 1.6,可在此处找到(根据Where can i download JNLP.jar):
${java.home}/sample/jnlp/servlet/jnlp.jar
但是,我在jdk 7 home中看不到这个目录。
它去了哪里?
答案 0 :(得分:11)
在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也可以在samples-package中找到。下载此内容并将jnlp.jar添加到类路径中,应该建议选择添加javaws.jar,如上所述。
答案 1 :(得分:6)
感谢您的所有提示 - 我不知道有单独的样本下载。
所以这就是我最终做的事情(注意我有自己的远程存储库,所以这可能不适用于你):
我从Oracle网站下载了jdk7样本。在里面我发现了一个jnlp.jar,它只包含jnlp API:
sample\jnlp\servlet\jnlp.jar
我将此部署到我的私有远程存储库(artifactory)为jnlp-api-1.7.jar,然后像这样配置pom.xml('提供'范围,因为在运行时这些类由javaws.jar提供,如指向出自Aksel Willgert):
<dependency>
<groupId>javax.jnlp</groupId>
<artifactId>jnlp-api</artifactId>
<version>1.7</version>
<scope>provided</scope>
</dependency>
为了完整起见,部署到神器的屏幕截图: