Как связать JNLP API с Maven Project - PullRequest
12 голосов
/ 10 января 2011

У меня есть проект, в котором мне нужен JNLP API .Я не нашел артефакт для этого в Maven Central, поэтому я добавил внешний репозиторий, который предлагает это моему pom.Этот репозиторий отключился в эти выходные.Это второй раз, когда что-то подобное случается со мной.

Я знаю, что это в значительной степени то, о чем Maven не , но на самом деле я просто хочу этот крошечный jnlp-api-1.5.0Файл .jar будет

  1. В моем SCM (я не хочу накатывать свой собственный репозиторий Maven только для одной зависимости).
  2. В области компиляции при сборке проекта.

Какие ручки мне нужно повернуть, чтобы выполнить это?

Ответы [ 2 ]

15 голосов
/ 10 января 2011

Начиная с JDK 7.0, JNLP API предоставляется файлом javaws.jar в каталоге lib вашего JRE, то есть ${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>
4 голосов
/ 10 января 2011

Вы можете поместить JAR в свой локальный репозиторий, используя цель install-file модуля maven-install-plugin, и ссылаться на него, как обычно, в своем 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.Таким образом, вы (и все, кто работает над этим проектом) можете легко установить его в локальный репозиторий.

...