Следующие артефакты не могут быть разрешены: javax.jms: jms: jar: 1.1 - PullRequest
75 голосов
/ 05 февраля 2011

Я пытаюсь скомпилировать проект maven, но систематически получаю следующее сообщение об ошибке:

[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]

Я знаю о этом посте maven о Sun jars , но он нерешить проблему.

У кого-нибудь есть решение?Есть ли хранилище, которое я могу указать в моем pom.xml?

Спасибо!

Ответы [ 10 ]

77 голосов
/ 05 февраля 2011

Спасибо за предложения. Я наконец нашел решение этой проблемы после прочтения this . Оказывается, эти зависимости исходили из зависимости от ZooKeeper.

Я изменил свой pom.xml следующим образом, и это решило проблему:

    <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>
57 голосов
/ 11 марта 2011

Если кто-то все еще хочет использовать jms1.1, тогда добавьте публичный репозиторий jboss, и maven найдет его ...

Проект-> Зависимости:

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

Проект-> репозиториев:

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

Работает -

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)
23 голосов
/ 27 августа 2012

Log4 версии 1.2.17 автоматически решает проблему, поскольку она зависит от geronimo-jms. У меня такая же проблема с log4j - версия 1.2.15.


Добавлено больше вопросов


Использование 1.2.17 решило проблему во время компиляции, но сервер (Karaf) использовал версию 1.2.15, создавая конфликт во время выполнения. Таким образом мне пришлось переключиться обратно на 1.2.15.

API JMS и JMX были доступны для меня во время выполнения, поэтому я не импортировал API J2ee.

я использовал зависимость времени компиляции от 1.2.17, но удалил ее во время выполнения.

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

.....
13 голосов
/ 20 февраля 2012

Другое решение, если вы не хотите изменять свои настройки:

Загрузите jms-1.1.jar из репозитория JBoss затем:

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

3 голосов
/ 23 июля 2014

Фактически реальным решением этой проблемы является использование артефакта jms-api-1.1-rev-1.jar, доступного в Maven Central: http://search.maven.org/#artifactdetails%7Cjavax.jms%7Cjms-api%7C1.1-rev-1%7Cjar

3 голосов
/ 05 февраля 2011

Попробуйте принудительно обновить, используя опцию mvn cpu:

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

Options:
 -cpu,--check-plugin-updates            Force upToDate check for any
                                        relevant registered plugins
2 голосов
/ 05 февраля 2011

Проверка репозиториев ibliblio и java.net показывает, что jar-файл jar отсутствует ни в одном из них.Я думаю, что вы должны вручную загрузить JMS и установить их локально, как обсуждено здесь .

1 голос
/ 28 октября 2018

Я также столкнулся с той же проблемой, когда начал использовать следующую версию зависимостей maven для log4j (1.2.15) в моем проекте.

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

Следующая ошибка была брошена в меня.

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]

Я начал использовать следующую версию log4j (1.2.17), и она помогла мне решить эту проблему без каких-либо исправлений, связанных с настройками.

 <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
0 голосов
/ 10 декабря 2014

Может быть не совсем та же проблема.но есть хорошая статья на той же строчке Здесь

0 голосов
/ 06 июля 2012

Вы импортируете одну зависимость, и эта зависимость зависит от com.sun.jmx:jmxri:jar:1.2.1 и других, но com.sun.jmx:jmxri:jar:1.2.1 невозможно найти в центральном хранилище,

так что вам лучше попробовать импортировать другую версию.

Здесь предположим, что ваша зависимость может быть log4j, и вы можете попробовать импортировать log4j:log4j:jar:1.2.13.

...