Не удалось разрешить следующие артефакты: javax.jms: jms: jar: 1.1

Я пытаюсь скомпилировать проект 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?

спасибо!

9 ответов


Спасибо за пожелания. Я наконец нашел решение этой проблемы после прочтения этой. Оказывается, эти зависимости исходили из зависимости от 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>

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

-3-->зависимости:
  <dependencies>
    <dependency>
      <groupId>javax.jms</groupId>
      <artifactId>jms</artifactId>
      <version>1.1</version>
    </dependency>
-3-->репозитории:
  <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)

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


еще вопрос


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

api JMS и JMX были доступны для меня во время выполнения, поэтому я не импортировать в J2EE API-интерфейс.

я использовал зависимость времени компиляции от 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>

.....

другое решение, если вы не хотите изменить ваши параметры:

скачать jms-1.1.jar из репозитория JBoss затем:

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


попробуйте принудительное обновление с помощью mvn :

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

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

проверка ibliblio и java.net репозитории показывают, что связанная с jmx jar отсутствует в любом из них. Я думаю, вы должны вручную загрузить jms и установить их локально, как обсуждалось здесь.


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


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

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

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


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