Подтвердить что ты не робот

Как связать API JNLP с проектом Maven

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

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

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

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

4b9b3361

Ответ 1

Как и в JDK 7.0, API JNLP предоставляется файлом 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>

Ответ 2

Вы можете поместить 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>

Поместите эту команду в script и проверьте ее в своем SCM. Таким образом, вы (и все остальные, работающие над этим проектом) можете легко установить его на локальное репо.