2011-01-10 58 views
85

これは私の友人からの実用的なプロジェクトであるはずです。彼はプロジェクトを私の前で実演し、プロジェクトをコピーして既存のmavenプロジェクトとしてインポートしました(私はm2eclipseプラグインを使用しています)。Maven依存関係を解決できませんでした。成果物を解決できませんでした

このエラーが発生します。このエラーは、mavenで何かをビルドしようとするたびに再現できます。木、依存関係:MVN依存行う

リスト、または通常のビルドパッケージは、同じエラーになります。

'パッケージのEclipseからビルドを実行しているの誤差は次のとおりです。

[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available 
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available 
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available 
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.963s 
[INFO] Finished at: Tue Jan 11 01:55:41 WIT 2011 
[INFO] Final Memory: 2M/56M 
[INFO] ------------------------------------------------------------------------ 

[ERROR] Failed to execute goal on project jackpot: Could not resolve dependencies 
for project com.jeteo:jackpot:war:1.0-SNAPSHOT: The following artifacts could 
not be resolved: javax.servlet:com.springsource.javax.servlet:jar:2.5.0, 
javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0, 
javax.transaction:com.springsource.javax.transaction:jar:1.1.0, 
org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6: Failure to find 
javax.servlet:com.springsource.javax.servlet:jar:2.5.0 in 
http://repository.springsource.com/maven/bundles/release was cached in the 
local repository, resolution will not be reattempted until the update 
interval of com.springsource.repository.bundles.release has elapsed or 
updates are forced -> [Help 1] 

[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException 

そして、ここのpom.xmlの内容です:私は最新バージョンをダウンロードして試してみた

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.jeteo</groupId> 
<artifactId>jackpot</artifactId> 
<packaging>war</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>Jackpot Portal Webapp</name> 
<url>http://www.jeteo.com</url> 
<properties> 
    <java-version>1.6</java-version> 
    <org.springframework-version>3.0.3.RELEASE</org.springframework-version> 
    <org.hibernate-version>3.6.0.Final</org.hibernate-version> 
    <org.aspectj-version>1.6.9</org.aspectj-version> 
    <org.slf4j-version>1.5.10</org.slf4j-version> 
</properties> 
<dependencies> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-orm</artifactId> 
    <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.8.1</version> 
    <scope>test</scope> 
    </dependency> 
    <dependency> 
    <groupId>net.sf.jt400</groupId> 
    <artifactId>jt400</artifactId> 
    <version>6.6</version> 
    <scope>compile</scope> 
    </dependency> 

    <!-- Hibernate --> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>${org.hibernate-version}</version> 
    <scope>compile</scope> 
    </dependency> 
    <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>${org.hibernate-version}</version> 
      <scope>compile</scope> 
     </dependency> 

    <!-- AspectJ --> 
    <dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjrt</artifactId> 
    <version>${org.aspectj-version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjtools</artifactId> 
    <version>${org.aspectj-version}</version> 
    </dependency> 

    <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>com.springsource.javax.servlet</artifactId> 
    <version>2.5.0</version> 
    <scope>provided</scope> 
    </dependency> 
    <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>com.springsource.javax.servlet.jsp.jstl</artifactId> 
    <version>1.2.0</version> 
    <scope>provided</scope> 
    </dependency> 
    <!-- 
    <dependency> 
    <groupId>javax.persistence</groupId> 
    <artifactId>com.springsource.javax.persistence</artifactId> 
    <version>1.0.0</version> 
    <scope>compile</scope> 
    </dependency> 
    --> 
    <dependency> 
    <groupId>javax.transaction</groupId> 
    <artifactId>com.springsource.javax.transaction</artifactId> 
    <version>1.1.0</version> 
    <scope>compile</scope> 
    </dependency> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.5.6</version> 
    </dependency> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>com.springsource.slf4j.log4j</artifactId> 
    <version>1.5.6</version> 
    </dependency> 
    <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.11</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 

</dependencies> 
<repositories> 
    <!-- Spring releases --> 
    <repository> 
    <id>com.springsource.repository.bundles.release</id> 
    <name>Spring Maven Repository Repository</name> 
    <url>http://repository.springsource.com/maven/bundles/release</url> 
    </repository> 
    <!-- For hibernate 3.6 support --> 
    <repository> 
    <id>jboss</id> 
    <url>https://repository.jboss.org/nexus/content/groups/public/</url> 
    </repository> 
</repositories> 
<build> 
    <finalName>jackpot</finalName> 
    <plugins> 
    <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <version>1.1</version> 
      <configuration> 
      <url>http://localhost:8080/manager</url> 
      </configuration> 
     </plugin> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.0.2</version> 
    <configuration> 
    <source>1.6</source> 
    <target>1.6</target> 
    </configuration> 
    </plugin> 
    </plugins> 
</build> 
</project> 

メイヴェンの、そして日食ヘリオスにそれを含めたが、それと同じ問題。シェルコマンドライン(eclipse外)で実行しても、同じエラーメッセージが表示されます。

私には何が欠けていますか?

答えて

68

Mavenリポジトリが不足しているようです。あなたの友人の.m2/settings.xmlを尋ねると、そこにリポジトリを含めるようにPOMを更新したいと思うでしょう。

--edit:いくつかの簡単なグーグルの後、あなたのPOMにこれを追加してみてください:

<repository> 
    <id>com.springsource.repository.bundles.release</id> 
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name> 
    <url>http://repository.springsource.com/maven/bundles/release</url> 
</repository> 
<repository> 
    <id>com.springsource.repository.bundles.external</id> 
    <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name> 
    <url>http://repository.springsource.com/maven/bundles/external</url> 
</repository> 
+5

ありがとう!私の友人は、ノートパソコンで働いていると言いました。彼はすでに.m2にキャッシュされている依存関係を持っていて、もうそれをダウンロードしようとしません。そして、彼はリポジトリエントリを共有しました。あなたの発見のようなものもありましたが、今はうまくいきました。あなたの時間をありがとう!そして、もし私が知っているとすれば、どのようなキーワードを使ってどのリポジトリを使うのかを知ることができますか?私は昨日もグーグルでやってみたが、私は悲惨に終わった。 haha – bertie

+6

"POM for xxx is missing"という警告メッセージが原因でリポジトリの問題であることが分かりました。だから私は "springsource maven"を検索し、springsourceプロジェクトのFAQと、それをMavenと連携するように設定するエントリを思いついただけです。 – wmorrell

3

artifactIdダウンロードに失敗したすべての依存関係が正しくないために - 彼らはcom.springsourceが付いているいくつかの理由があります。カット/ペーストの問題?

次のように置き換えることができます。

 <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.transaction</groupId> 
      <artifactId>jta</artifactId> 
      <version>1.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.5.6</version> 
     </dependency> 

あなたはまた、彼らは指定されたリポジトリで利用できない場合にはこれらのアーティファクトのためのMaven中央リポジトリを追加することもできます。

<repository> 
    <id>maven2</id> 
    <url>http://repo1.maven.org/maven2</url> 
    </repository> 
+0

私はそれを試みましたが、それでもエラーがありますか? jackpot:war:1.0-SNAPSHOT:以下の成果物を解決できませんでした:javax.servlet:プロジェクトのジャンパーを実行できませんでした。 servlet-api:jar:2.5.0、javax.servlet:jstl:jar:1.2.0、javax.transaction:jta:jar:1.1.0:javax.servletの検索に失敗しました:servlet-api:jar:2.5.0 http://repository.springsource.com/maven/bundles/releaseがローカルリポジトリにキャッシュされていた場合、更新間隔が .... – bertie

+0

@ Albert Kamになるまで解決は再試行されません。更新されたアンサーを含むmavenセントラルリポジトリへの参照が含まれていました。 – Raghuram

+0

com.springsource接頭辞は、春のエンタープライズリポジトリからの成果物を意味します – eis

1

同様のメッセージが表示されています。私のsettings.xmlには、いくつかのプロキシ設定がありました。 だから私はそれらを無効にし、すべて正常に動作します。

0

この問題がありました。私の場合は、IntelliJ Ideaがpom.xmlファイルのいくつかを使いこなしていたことが原因でした。私はちょうど元のコピーに戻って、物事は再び働いた!同じ問題への代替源として

5

this answerは、この問題の潜在的な原因として、Mavenの2対のMaven 3を使用して引用しています。近くに私が言うことができるように、これはMaven 3で変更されたlocal repository resolutionの変更によるものです。他の誰かがそれをgooglesして、この回答に(私が行ったように)達した場合にこれを置いてください。

0

私はそれが原因で私のpom.xmlファイルに何かを追加するのNetBeansのであったが、同様にこの問題を抱えていました。以前の正常なデプロイメント以来、何も追加されていません。

3

私は同様の問題があったと私は私のポンポンで以下のリポジトリを追加して、それを修正しました。xml:

<repository> 
     <id>org.springframework.maven.release</id> 
     <name>Spring Maven Release Repository</name> 
     <url>http://repo.springsource.org/libs-release-local</url> 
     <releases><enabled>true</enabled></releases> 
     <snapshots><enabled>false</enabled></snapshots> 
    </repository> 
    <!-- For testing against latest Spring snapshots --> 
    <repository> 
     <id>org.springframework.maven.snapshot</id> 
     <name>Spring Maven Snapshot Repository</name> 
     <url>http://repo.springsource.org/libs-snapshot-local</url> 
     <releases><enabled>false</enabled></releases> 
     <snapshots><enabled>true</enabled></snapshots> 
    </repository> 
    <!-- For developing against latest Spring milestones --> 
    <repository> 
     <id>org.springframework.maven.milestone</id> 
     <name>Spring Maven Milestone Repository</name> 
     <url>http://repo.springsource.org/libs-milestone-local</url> 
     <snapshots><enabled>false</enabled></snapshots> 
    </repository> 
11

Mavenはファイルをキャッシュに保存し、ダウンロードを再試行しません。あなたは単に.m2ディレクトリを削除することによって手作業で「助けてください」ことができます、そして、私たちの友人は古いdepedencies上のすべてをダウンロードします。

0

私のEARプロジェクトは2つのモジュール* .earと* .warを持っていて、mvn eclipse:eclipseを試したときに*.warプロジェクトにこの依存関係のエラーがありました。 *.warプロジェクトでutf-8エンコードの問題を修正して解決しました。 mvn-Xまたは-eオプションはここでは役に立たなかった。

0

問題のこの種のは、二つの理由によって引き起こされる:依存関係の呪文がMVN設定のコンフィグ

  • 間違っている

    1. (。すなわち〜/ .m2/settings.xmlの)
    2. 間違っています

    ほとんどの依存関係をダウンロードできる場合、理由1が最も可能性が高いバグである可能性があります。 逆に、ほとんどの依存関係に問題がある場合は、settings.xmlを見てください。

    私は午後中に問題を解決しようとしましたが、ついにそれを手に入れました。私の問題はsettings.xmlで、settings.xmlの紛失または間違った綴りではなく、activeProfilesという紛失が発生します。

    0

    手動でjarファイルをダウンロードし、jarファイルが保存されているフォルダからコマンドを実行します。

    MVNインストール:インストールファイル-Dfile = jar_file_nameの.jar-DgroupId = group_idの -DartifactId = artifact_id -Dversion = version_no -Dpackaging =瓶

    jarファイル、jar_file_name、GROUP_ID、artifact_idおよびversion_noは、Mavenリポジトリページから入手できます。

    幸せコーディング:)

    関連する問題