Как заставить Maven скачать зависимость javax.comm?
-
24-10-2019 - |
Вопрос
Мне нужна библиотека Javax.comm при создании моего проекта на нашем сервере Hudson Build с Maven. В файле моих проектов Pom.xml у меня есть зависимость как это:
<dependency>
<groupId>javax.comm</groupId>
<artifactId>comm</artifactId>
<version>2.0.3</version>
</dependency>
Я также где -то читал, что мне повезет с Javax Lib's, если бы я включил репозиторий:
<repository>
<id>java.net repository</id>
<url>http://download.java.net/maven/2</url>
</repository>
что я сделал. Остальная часть моего pom.xml довольно стандартная и минималистичная.
Когда я пытаюсь заработать на сервере сборки, который я получаю:
Downloading: [company repo]/content/groups/public//javax/comm/comm/2.0.3/comm-2.0.3.jar
[INFO] Unable to find resource 'javax.comm:comm:jar:2.0.3' in repository java.net repository (http://download.java.net/maven/2)
Downloading: [company repo]/content/groups/public//javax/comm/comm/2.0.3/comm-2.0.3.jar
[INFO] Unable to find resource 'javax.comm:comm:jar:2.0.3' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) javax.comm:comm:jar:2.0.3
Try downloading the file manually from:
http://www.sun.com/download/products.xml?id=43208d3d
Then, install it using the command:
mvn install:install-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) com.siriusit.fisherysolution.inmcsim:InmCSim:jar:1.0-SNAPSHOT
2) javax.comm:comm:jar:2.0.3
----------
Что я делаю не так?
-редактировать-
Я закончил тем, что загрузил Java Comm Lib от Оракул и попросил нашего администратора Maven установить его в наш местный репозиторий. Как указано в ответах ниже Java Comm Lib не доступна на общественных репо, из -за ограничений лицензий от Oracle (и Sun перед ними).
Решение
Если у вас есть взгляд здесь, в хранилище «официального» Maven 2, вы увидите это в pom.xml
Файл для вашей библиотеки:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>javax.comm</groupId>
<artifactId>comm</artifactId>
<version>2.0.3</version>
<name>Java Communications API</name>
<description>
The Java Communications API is a Java extension that facilitates developing platform-independent
communications applications for technologies such as Smart Cards, embedded systems, and point-of-sale
devices, financial services devices, fax, modems, display terminals, and robotic equipment.
</description>
<url>http://java.sun.com/products/javacomm/</url>
<distributionManagement>
<downloadUrl>http://www.sun.com/download/products.xml?id=43208d3d</downloadUrl>
</distributionManagement>
<dependencies></dependencies>
</project>
Это означает, что вы должны загрузить библиотеку сами (URL -адрес приведен в <downloadUrl>
тег), а затем Установите его в местный репозиторий (Или даже лучше, разверните его в хранилище корпорации).
Иногда это случается с некоторыми библиотеками (драйвер Oracle JDBC является еще одним примером), которые не доступны для прямой загрузки, по сути из -за конкретных лицензий ...
Другие советы
JAR не доступна в общественных репозиториях, вероятно, по причинам лицензирования.
Download the Коммуникационный API и развернуть его, используя
mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm \
-Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] \
-DrepositoryId=[id]
На самом деле Мэвен не находит это в общественных репо ...
Информация] Невозможно найти ресурс 'javax.comm: comm: jar: 2.0.3' в репозитории java.net Repository (http://download.java.net/maven/2) ... [info] Невозможно найти Ресурс 'javax.comm: comm: jar: 2.0.3' в репозитории Central (http://repo1.maven.org/maven2)
Вы должны скачать его из любого источника и либо установить в локальный репозиторий:
mvn install:install-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file
или развернуть его в хранилище вашей компании (если у вас есть):
mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Из -за ограничений лицензирования пакет javax.comm не доступен ни в одном общественном репозиториях, см. Здесь для дальнейшего определения:
http://repo1.maven.org/maven2/javax/comm/comm/2.0.3/comm-2.0.3.pom
POM также предлагает вам URL загрузки. Вам следует загрузить банку, используя предоставленную ссылку:
http://www.sun.com/download/products.xml?id=43208d3d
и поместите это в "/javax/comm/comm/2.0.3/
«На сервере репозитория ваших компаний серверы, такие как Artifactory, предлагают для этого веб-фронтаж.
Если у вас нет сервера хранилища, вы можете поместить его в свой .m2/repository
каталог в вашей домашней папке. Создать каталог "/javax/comm/comm/2.0.3/
«Там и поместите POM по первой ссылке и загруженной банке в эту папку. Но это будет работать только для вашей локальной машины.
Вы также можете добавить артефакт в управлении источником и использовать Maven-Install-Plugin, чтобы установить его локали перед сборкой, как объяснено здесь.