web-dev-qa-db-fra.com

Les artefacts suivants n'ont pas pu être résolus: javax.jms: jms: jar: 1.1

J'essaie de compiler un projet Maven, mais j'obtiens systématiquement le message d'erreur suivant:

[ERROR]Failed to execute goal on project ...:
Could not resolve dependencies for project ...:war:1.0.0:
The following artifacts could not be resolved: javax.jms:jms:jar:1.1,
com.Sun.jdmk:jmxtools:jar:1.2.1, com.Sun.jmx:jmxri:jar:1.2.1:
Failure to find javax.jms:jms:jar:1.1 in http://mirrors.ibiblio.org/maven2/
  was cached in the local repository, resolution will not be reattempted until
  the update interval of maven2-repository.ibiblio.mirror has elapsed or
  updates are forced -> [Help 1]

Je sais à propos de ce post maven à propos de Sun jars , mais cela ne résout pas le problème.

Quelqu'un a-t-il une solution? Existe-t-il un référentiel que je peux spécifier dans mon pom.xml?

Merci!

76
Jérôme Verstrynge

Merci pour les suggestions. J'ai finalement trouvé une solution à ce problème après avoir lu this . Il s'avère que ces dépendances provenaient d'une dépendance à ZooKeeper.

J'ai modifié mon pom.xml comme suit et cela a résolu le problème:

    <dependency>
        <groupId>org.Apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.3.2</version>
        <exclusions>
            <exclusion>
                <groupId>com.Sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.Sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
79
Jérôme Verstrynge

Si quelqu'un veut toujours utiliser jms1.1, alors ajoutez le référentiel public jboss et maven le trouvera ...

projet-> dépendances:

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

projet-> référentiels:

  <repositories>
    <repository>
      <id>repository.jboss.org-public</id>
      <name>JBoss.org Maven repository</name>
      <url>https://repository.jboss.org/nexus/content/groups/public</url>
    </repository>  

Ça marche -

F:\mvn-repo-stuff>mvn verify
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building mvn-repo-stuff 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/javax/jms/jms/1.1/jms-1.1.pom
Downloaded: http://repo1.maven.org/maven2/javax/jms/jms/1.1/jms-1.1.pom (677 B at 0.8 KB/sec)
[WARNING] The artifact xml-apis:xml-apis:jar:2.0.2 has been relocated to xml-apis:xml-apis:jar:1.0.b2
Downloading: http://repo1.maven.org/maven2/javax/jms/jms/1.1/jms-1.1.jar
Downloading: https://repository.jboss.org/nexus/content/groups/public/javax/jms/jms/1.1/jms-1.1.jar
Downloaded: https://repository.jboss.org/nexus/content/groups/public/javax/jms/jms/1.1/jms-1.1.jar (26 KB at 8.5 KB/sec)
57
matto

Log4 version 1.2.17 résout automatiquement le problème car il dépend de geronimo-jms. J'ai eu le même problème avec la version log4j-1.2.15.


Ajouté avec plus autour de la question


l'utilisation de 1.2.17 a résolu le problème lors de la compilation, mais le serveur (Karaf) utilisait la version 1.2.15, créant ainsi un conflit lors de l'exécution. J'ai donc dû revenir à 1.2.15.

L'API JMS et JMX était disponible pour moi au moment de l'exécution, donc je n'ai pas importé l'api J2ee.

ce que j’ai fait, c’est que j’ai utilisé la dépendance à la compilation 1.2.17, mais que j’ai enlevé le fichier au moment de l’exécution.

            <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
....
    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                                                          <Import-Package>!org.Apache.log4j.*,*</Import-Package>

.....
23
R-JANA

Une autre solution si vous ne souhaitez pas modifier vos paramètres:

Téléchargez jms-1.1.jar à partir du référentiel JBoss alors:

mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=jms-1.1.jar

13
Adrián Deccico

Essayez d'imposer des mises à jour à l'aide de l'option mvn cpu:

usage: mvn [options] [<goal(s)>] [<phase(s)>]

Options:
 -cpu,--check-plugin-updates            Force upToDate check for any
                                        relevant registered plugins
3
dogbane

En fait, la vraie solution à ce problème consiste à utiliser l'artefact jms-api-1.1-rev-1.jar disponible sur Maven Central: http://search.maven.org/#artifactdetails%7Cjavax.jms% 7Cjms-api% 7C1.1-rev-1% 7Cjar

3
Sébastien Deleuze

Un contrôle de ibliblio et Java.net Les référentiels révèlent que le fichier jar lié à jmx n’est pas présent non plus. Je pense que vous devriez télécharger manuellement jms et les installer localement comme indiqué ici .

2
Raghuram

J'ai également rencontré le même problème lorsque j'ai commencé à utiliser la version de dépendance maven suivante pour log4j (1.2.15) dans mon projet.

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.15</version>
</dependency>

L'erreur suivante a été lancée sur moi.

The following artifacts could not be resolved: javax.jms:jms:jar:1.1, com.Sun.jdmk:jmxtools:jar:1.2.1, com.Sun.jmx:jmxri:jar:1.2.1: Could not transfer artifact javax.jms:jms:jar:1.1 from/to Java.net (https://maven-repository.dev.Java.net/nonav/repository): Cannot access https://maven-repository.dev.Java.net/nonav/repository with type legacy using the available connector factories: BasicRepositoryConnectorFactory: Cannot access https://maven-repository.dev.Java.net/nonav/repository with type legacy using the available layout factories: Maven2RepositoryLayoutFactory: Unsupported repository layout legacy -> [Help 1]

J'ai commencé à utiliser la version suivante de log4j (1.2.17) et cela m'a aidé à résoudre ce problème sans aucun correctif lié à la configuration.

 <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
1
Dulith De Costa

Vous importez une dépendance et cette dépendance dépend de com.Sun.jmx:jmxri:jar:1.2.1 et autres, mais com.Sun.jmx:jmxri:jar:1.2.1 ne peut pas être trouvé dans le référentiel central,

vous feriez donc mieux d'essayer d'importer une autre version.

Supposons ici que votre dépendance soit log4j et que vous puissiez essayer d'importer log4j:log4j:jar:1.2.13.

0
JZ.Hunt

Peut-être pas exactement le même problème. mais il y a un article de Nice sur la même ligne Ici

0
Nirmal Mangal