17

pomファイルが次のモジュールがあります。

<groupId>com.mycompany.Common</groupId>
<artifactId>common</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>common module</name>

そのアーティファクト(「common」)には、com.mycompany.common.objectsという名前のパッケージがあります。消費パッケージでは、私のpomファイルは次のとおりです。

 <dependency>
            <groupId>com.mycompany.Common</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
            <type>pom</type>
 </dependency>

mvn installを実行すると、常に文句が表示されます。パッケージcom.mycompany.common.objectsが存在しません。

エラーが発生したクラスで明示的なインポートを試みました:

import com.mycompany.common.objects

運がない。IDE(IntelliJ)とコマンドラインの両方で試しました。何か案が?ありがとう

4

8 に答える 8

12

サンプルから、使用しているパッケージを含むアーティファクトは確認できませんcom.mycompany.common.objects

依存関係 com.mycompany.Common:common を POM として追加しています (また、com.mycompany.Common:common のパッケージ化も POM として宣言しています)。実際に使用する必要があるパッケージを含む JAR 成果物である場合はpackaging、POM と依存関係から を削除します (つまり、デフォルトの JAR を使用します)。

于 2013-03-05T01:14:21.873 に答える
10

これに苦労していてJavaに慣れていない人は、上記のパッケージがローカルリポジトリに存在することを確認してください。Maven には~/.m2ローカル アクセス用にパッケージがインストールされるローカル リポジトリがあるため、依存関係パッケージが依存関係として正しく宣言され、pom.xmlコンパイルされてプロジェクトに存在する場合でも、ローカル リポジトリに存在しない場合はmvn compile"package does not exist"エラー。

これを修正するには:

不足しているパッケージ フォルダーで、次の操作を行います。

mvn install //--> this will package and install your missing package in the local repo

次に、コンパイルしたいプロジェクトで:

mvn compile // --> now that the missing package is in the local repo it should work

于 2018-05-18T19:20:50.857 に答える
2

私は最近同じ問題を抱えていました。プロジェクト内のすべてが依存関係などで正しくセットアップされました。 /target ディレクトリを削除しようとしましたが、何も機能しませんでした。

最後に、依存プロジェクトからモジュールの依存関係を削除し、依存関係を再読み込みすることで解決しました。バックグラウンドで何が起こっているのかはわかりませんが、何らかのクラスパスの更新が行われたに違いありません。おそらく、問題は Maven のセットアップが原因でした。

検索エンジンからこの質問にたどり着いた人の助けになることを願っています。

于 2013-04-19T07:34:17.417 に答える
2

私が間違っている場合は、私を修正してください。Commonは、他のモジュールで使用されるいくつかの依存関係を定義するPOMであることを理解しています。Importing Dependenciesが要件を満たす場合があります。

例えば

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.mycompany.Common</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

これが役立つことを願っています。

于 2013-03-05T01:34:31.487 に答える
0

ファイルの破損があったかどうかはわかりませんが、適切な pom 構成を確認した後、ローカルの m2 リポジトリから jar を削除し、テストの実行時に Maven に再度ダウンロードさせることで、この問題を解決できました。

于 2014-01-02T16:15:14.193 に答える