Maven依存関係をプロジェクトに追加しました。プロジェクトはローカルでコンパイルされますが、サーバーではコンパイルされません。新しく追加された依存関係を解決できません。
これは私のpom.xmlファイルです:
<repositories>
<repository>
<id>rep</id>
<name>Repository</name>
<url>http://artifacts.com/rep</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.project.rest</groupId>
<artifactId>common</artifactId>
<version>2.0.5</version>
</dependency>
</dependencies>
そして、これはエラーのある私のコンソール出力です:
Downloading: http://artifacts.com/rep/com/project/rest/common/2.0.5/common-2.0.5.pom
[WARNING] The POM for com.project.rest:common:jar:2.0.5 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.154s
[INFO] Finished at: Tue Feb 03 06:58:35 BRT 2015
[INFO] Final Memory: 9M/152M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project server: Could not resolve dependencies for project org.server:
server:jar:2.5.1-SNAPSHOT: The following artifacts could not be resolved: com.project.rest:common:jar:2.0.5:
Could not find artifact com.project.rest:common:jar:2.0.5 in rep (http://artifacts.com/rep) -> [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
(実際のURLとパッケージをすべて非表示にしました。)
何が問題なのですか?
最初の行「Downloading:...」は、Mavenがアーティファクトをダウンロードしようとしていることだけを示しています。それは成功についての声明ではありません。 Mavenが成功すると、「ダウンロード済み:...」で始まる別の行が表示されます。
したがって、あなたの場合、Mavenはファイルをダウンロードできませんでした。ログに記録されたURLが存在するかどうか、および保護されているかどうかをブラウザで確認してください。
ところで<updatePolicy>always</updatePolicy>
リリースはこれ以上変更されるべきではないため、リリースリポジトリでは非常にまれです。
DependencyResolutionException
(ソース: Maven Confluence )
このエラーは通常、Mavenが依存関係をダウンロードできなかった場合に発生します。このエラーの考えられる原因は次のとおりです。
<repository>
の宣言を見逃しています。${user.home}/.m2/settings.xml
に<server>
宣言が含まれていることを確認してください。その<id>
は、使用するリモートリポジトリの<id>
と一致します。詳細については、 Maven設定リファレンス を参照してください。LocalRepositoryNotAccessibleException
を参照してください。-U
を追加します。一般的なネットワーク関連の問題の場合は、次の記事を参照することもできます。
リポジトリが正しく構成されていることを確認してください。リポジトリで、バージョンcom.project.rest:common
の2.0.5
を検索してみてください。
これはあなた自身のプロジェクトですか?あなたが作ったいくつかの瓶?リポジトリにデプロイしてもよろしいですか?リポジトリにない場合は、localリポジトリ(通常は。m2/repository/com)で検索してみてください/事業...)
あなたが言及したプロジェクトにはPOMが含まれていません。つまり、MAVENプロジェクトではありません。 .m2(これをcドライブまたはインストールした場所で確認してください)リポジトリには、必要なプロジェクトが含まれているかどうかに関係なく、そこにあるすべての依存関係フォルダーが含まれています(com.project.rest)。
コンソール出力で提案されているように、問題が発生する可能性のある場所の詳細については、Maven Wikiページ( http://cwiki.Apache.org/confluence/display/MAVEN/DependencyResolutionException )を確認できます。
あなたが提供した情報を考えると。ポイント1の問題を見ていると思います:POMは、アーティファクトをホストする宣言を見逃しています。
Mavenリポジトリには、ローカル、中央、リモートの3つのタイプがあります。
あなたの場合、ローカルリポジトリにはプロジェクト固有のアーティファクトが含まれていますが、中央リポジトリには含まれていません。
私は次のことを提案します: