Java.net maven repo - отсутствует артефакт JMS
Я только что создал новый проект Maven с использованием архетипа по умолчанию и добавил следующую зависимость к моему файлу POM.
<dependencies>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
Понимая, что JAR Sun не находятся на центральной станции Maven из-за проблем с лицензированием, я добавил
следующий Maven repo для моего POM (я знаю, что это плохая практика, и что его нужно добавить в settings.xml)
<repositories>
<repository>
<id>Repo ID</id>
<layout>default</layout>
<name>Java.net Maven repo</name>
<releases>
<enabled>true</enabled>
</releases>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
Я все еще вижу эту ошибку в моем файле POM.
"Отсутствует артефакт javax.jms: jms: jar: 1.1: compile"
Кто-нибудь знает, что еще нужно сделать в дополнение к конфигурации, которую у меня уже есть?
Ответы
Ответ 1
Понимая, что JAR Sun не находятся на центральной станции Maven из-за проблем с лицензированием, я добавил следующий Maven repo на мой POM
Да, но http://download.java.net/maven/2/javax/ не имеет артефакта jms...
Хорошей новостью является то, что в репозитории JBoss Nexus есть:
<repository>
<id>repository.jboss.org-public</id>
<name>JBoss repository</name>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
Ответ 2
Если вы просто хотите артефакт jms и не хотите добавлять полное репо, вы можете сделать следующее:
wget https://repository.jboss.org/nexus/content/groups/public/javax/jms/jms/1.1/jms-1.1.jar
mvn -e install:install-file -Dfile=./jms-1.1.jar -DartifactId=jms -DgroupId=javax.jms -Dversion=1.1 -Dpackaging=jar
Ответ 3
Фактически реальным решением этой проблемы является использование артефакта jms-api-1.1-rev-1.jar, доступного на Maven Central: http://search.maven.org/#artifactdetails%7Cjavax.jms%7Cjms-api%7C1.1-rev-1%7Cjar