如何将JNLP API与Maven Project捆绑在一起

时间:2011-01-10 09:04:20

标签: maven-2 jar dependencies jnlp

我有一个需要JNLP API的项目。我没有在Maven Central上找到一个神器,所以我添加了一个外部存储库,它将它提供给我的pom。该存储库本周末脱机。这是第二次发生这样的事情。

我知道这几乎是Maven 的内容,但实际上我只想要那个小小的jnlp-api-1.5.0.jar文件

  1. 在我的SCM中(我不想只为一个依赖项滚动我自己的Maven存储库)。
  2. 在项目构建时的编译范围内。
  3. 我必须转向哪个旋钮来实现这个目标?

2 个答案:

答案 0 :(得分:15)

从JDK 7.0开始,JNLP API由JRE的lib目录中的javaws.jar文件提供,即${java.home}/lib/javaws.jar。可以使用maven依赖范围system

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>javax.jnlp</groupId>
      <artifactId>jnlp-api</artifactId>
      <version>7.0</version>
      <scope>system</scope>
      <systemPath>${java.home}/lib/javaws.jar</systemPath>
    </dependency>
  </dependencies>
  ...
</project>

答案 1 :(得分:4)

您可以使用maven-install-plugin的install-file目标将JAR放在本地存储库中,并像通常在POM中那样引用它。命令是:

mvn install:install-file -Dfile=/path/to/jnlp-api-1.5.0.jar -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=1.5.0 -Dpackaging=<packaging>

将此命令放在脚本中并将其签入SCM。这样,您(以及从事该项目的任何其他人)可以轻松地将其安装到本地仓库。