Как связать API JNLP с проектом Maven
У меня есть проект, где мне нужен JNLP API. Я не нашел для этого артефакта в Maven Central, поэтому добавил внешний репозиторий, который предлагает это моему pom. Этот репозиторий отключился в эти выходные. Это второй раз, когда что-то подобное произошло со мной.
Я знаю, что это в значительной степени то, о чем не говорит Maven, но на самом деле я просто хочу, чтобы этот крошечный файл jnlp-api-1.5.0.jar был
- В моем SCM (я не хочу откатывать свой собственный репозиторий Maven только для одной зависимости).
- В области компиляции при создании проекта.
Какие ручки мне нужно сделать, чтобы выполнить это?
Ответы
Ответ 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. Таким образом, вы (и все остальные, работающие над этим проектом) можете легко установить его на локальное репо.