6

プロジェクトに 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 とパッケージはすべて非表示にしました。)

何が問題なのですか?

4

5 に答える 5

2

最初の行 "Downloading:..." は、maven がアーティファクトをダウンロードしようとしていることだけを示しています。それは成功についての声明ではありません。Maven が成功すると、「Downloaded: ...」で始まる別の行が表示されます。

したがって、あなたの場合、maven はファイルをダウンロードできませんでした。ログに記録された URL が存在するかどうか、および保護されているかどうかをブラウザーで確認してください。

ところで<updatePolicy>always</updatePolicy>、リリースはこれ以上変更されるべきではないため、リリース リポジトリでは非常にまれです。

于 2015-02-03T11:01:42.637 に答える
2

DependencyResolutionException

(出典: Maven Confluence )

このエラーは通常、Maven が依存関係をダウンロードできなかった場合に発生します。このエラーの考えられる原因は次のとおりです。

  1. POM は<repository>、アーティファクトをホストする の宣言を欠いています。
  2. 構成したリポジトリには認証が必要であり、Maven はサーバーに正しい資格情報を提供できませんでした。この場合、使用するリモート リポジトリのと一致する宣言が${user.home}/.m2/settings.xml含まれていることを確認してください。詳細については、Maven 設定リファレンスを参照してください。<server><id><id>
  3. 問題のリモート リポジトリは SSL を使用しており、Maven を実行している JVM はサーバーの証明書を信頼していません。
  4. プロキシ構成の欠落など、Maven がリモート リポジトリにアクセスできない一般的なネットワークの問題があります。
  5. 厳密なチェックサム検証を実行するように Maven を構成しましたが、ダウンロードするファイルが破損しています。
  6. Maven はファイルをローカル リポジトリに保存できませんでした。詳細については、を参照LocalRepositoryNotAccessibleExceptionしてください。
  7. Maven 3 では、ダウンロードに失敗し、それを修正した場合 (たとえば、jar をリポジトリにアップロードすることによって)、失敗がキャッシュされます。更新を強制する-Uには、コマンド ラインに追加します。

一般的なネットワーク関連の問題の場合は、次の記事も参考にしてください。

于 2016-08-30T19:36:59.363 に答える
1

リポジトリが適切に構成されていることを確認してください。com.project.rest:commonリポジトリでof versionを検索してみてください 2.0.5

これはあなた自身のプロジェクトですか?あなたが構築したいくつかの瓶?リポジトリにデプロイしたことは確かですか? リポジトリにない場合は、ローカルリポジトリ (通常は.m2/repository /com/project...)で検索してみてください。

于 2015-02-03T11:08:38.693 に答える
0

あなたが言及したプロジェクトにはPOMが含まれていません。つまり、MAVENプロジェクトではありません。.m2 (c ドライブまたはインストールした場所を参照) リポジトリには、必要なプロジェクトが含まれているかどうかに関係なく、すべての依存関係フォルダーが含まれています。つまり、com.project.rest です。

于 2015-02-03T10:12:59.350 に答える
0

コンソール出力で示唆されているように、Maven Wiki ページ ( http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException ) で、問題が発生している可能性のある場所の詳細を確認できます。

あなたが提供した情報を考えると。ポイント 1 の問題を見ていると思います: POM は、アーティファクトをホストする の宣言を欠いています。

Maven リポジトリには、 local 、 central 、および remoteの 3 つのタイプがあります。

あなたの場合、ローカル リポジトリにはプロジェクト固有のアーティファクトが含まれていますが、中央リポジトリには含まれていません。

  1. ローカル リポジトリはローカル マシンにあります。Maven ビルドを実行すると、Maven はすべての依存関係 jar をローカル リポジトリに自動的にダウンロードします。
  2. 中央リポジトリは、コミュニティによって提供される Web リポジトリであり、一般的に使用される多数のライブラリが含まれてい ます
  3. リモート リポジトリは、必要なライブラリまたは他のプロジェクト jar を含む開発者独自のカスタム リポジトリです。開発者は、タグを使用してこれらのリポジトリを POM ファイルで定義します。

次のことをお勧めします。

  • リポジトリが正しい場合は、リポジトリタグを確認してください
  • 依存関係タグで指定されたアーティファクトがリポジトリに含まれているかどうかを確認します
于 2020-02-04T16:59:38.060 に答える