Не удалось разрешить следующие артефакты: javax.ОМС:ОМС:опарник: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 о солнечных банках, но это не решит проблему.
есть ли у кого-нибудь решение? Есть ли репозиторий, который я могу указать в своем pom.xml?
спасибо!
9 ответов:
Спасибо за пожелания. Я наконец нашел решение этой проблемы после прочтения этой. Оказывается, эти зависимости исходили от зависимости к ZooKeeper.
Я изменил свой пом.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-->зависимости:-3-->репозитории:<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)
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 related 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.
может быть не совсем та же проблема. но есть хорошая статья на той же строке здесь
Comments