Как заставить Maven скачать зависимость javax.comm?

StackOverflow https://stackoverflow.com/questions/5310477

  •  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, чтобы установить его локали перед сборкой, как объяснено здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top