我在哪里可以找到jdk 7中的jnlp api jar?

时间:2012-11-25 20:17:32

标签: java jnlp java-web-start

  

可能重复:
  Can’t find jnlp.jar in JDK 1.7

对于jdk 1.6,可在此处找到(根据Where can i download JNLP.jar):

${java.home}/sample/jnlp/servlet/jnlp.jar

但是,我在jdk 7 home中看不到这个目录。

它去了哪里?

2 个答案:

答案 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>

为了完整起见,部署到神器的屏幕截图:

相关问题