web-dev-qa-db-ja.com

次のアーティファクトを解決できませんでした: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]

Sun jarについてのこのMavenの投稿 については知っていますが、問題は解決しません。

誰にも解決策がありますか? pom.xmlで指定できるリポジトリはありますか?

ありがとう!

76

提案をありがとう。 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>
79

まだ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)
57
matto

Log4バージョン1.2.17は、geronimo-jmsに依存性があるため、問題を自動的に解決します。 log4j- 1.2.15バージョンでも同じ問題が発生しました。


問題の周辺に追加されました


1.2.17を使用すると、コンパイル時に問題が解決しましたが、サーバー(Karaf)は1.2.15バージョンを使用していたため、実行時に競合が発生しました。したがって、1.2.15に切り替える必要がありました。

実行時にJMSとJMX APIを使用できたため、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>

.....
23
R-JANA

設定を変更したくない場合の別のソリューション:

JBossリポジトリからjms-1.1.jar をダウンロードします:

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

13
Adrián Deccico

Mvn cpuオプションを使用して更新を強制してみてください。

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

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

実際、この問題の実際の解決策は、Maven Centralで利用可能なjms-api-1.1-rev-1.jarアーティファクトを使用することです: http://search.maven.org/#artifactdetails%7Cjavax.jms% 7Cjms-api%7C1.1-rev-1%7Cjar

3

ibliblioおよびJava.netリポジトリーを確認すると、jmx関連のjarも存在しないことがわかります。 here のように、jmsを手動でダウンロードし、ローカルにインストールする必要があると思います。

2
Raghuram

私のプロジェクトでlog4j(1.2.15)の次のMaven依存バージョンを使用し始めたときにも、同じ問題に直面しました。

<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>
1
Dulith De Costa

1つの依存関係をインポートし、この依存関係はcom.Sun.jmx:jmxri:jar:1.2.1およびその他に依存していますが、com.Sun.jmx:jmxri:jar:1.2.1は中央リポジトリに見つかりません。

そのため、別のバージョンをインポートすることをお勧めします。

ここでは、依存関係がlog4jであり、log4j:log4j:jar:1.2.13のインポートを試みることができるとします。

0
JZ.Hunt

まったく同じ問題ではないかもしれません。しかし、同じ行に素敵な記事があります ここ

0
Nirmal Mangal