ti-enxame.com

repositório maven do java.net - artefato JMS ausente

Acabei de criar um novo projeto Maven usando o arquétipo padrão e adicionei a seguinte dependência ao meu arquivo POM.

<dependencies>
  <dependency>
    <groupId>javax.jms</groupId>
    <artifactId>jms</artifactId>
    <version>1.1</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

Percebendo que os JARs da Sun não estão na central do Maven devido a problemas de licenciamento, adicionei o seguinte repositório Maven ao meu POM (eu sei que isso é uma prática ruim e que precisa ser adicionado a um 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>

Ainda vejo esse erro no meu arquivo POM.

"Artefato ausente javax.jms: jms: jar: 1.1: compile"

Alguém aqui sabe o que mais precisa ser feito além da configuração que eu já tenho?

32
Phanindra

Percebendo que os JARs da Sun não estão na central do Maven devido a problemas de licenciamento, adicionei o seguinte repositório Maven ao meu POM

Sim, mas http://download.Java.net/maven/2/javax/ não possui o artefato jms ...

A boa notícia é que o repositório do JBoss Nexus possui:

<repository>
  <id>repository.jboss.org-public</id>
  <name>JBoss repository</name>
  <url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
45
Pascal Thivent

Se você deseja apenas o artefato jms e não deseja adicionar todo o repositório, faça o seguinte:

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
6
Florian

De fato, a solução real para esse problema é usar o artefato jms-api-1.1-rev-1.jar disponível no Maven Central: http://search.maven.org/#artifactdetails%7Cjavax.jms% 7Cjms-api% 7C1.1-rev-1% 7Cjar

6
Sébastien Deleuze