1. ホーム
  2. java

Maven が同じマルチモジュール・プロジェクト内のモジュールの依存関係を解決できない

2023-11-02 19:10:10

質問

のようなコマンドを実行すると

mvn dependency:build-classpath

または

mvn exec:java

Mavenは、私のモジュールの1つの依存関係を解決することができません。

[ERROR] プロジェクト parser-app でゴールの実行に失敗しました。プロジェクト project_group:A:jar:0.1-SNAPSHOT の依存関係を解決できませんでした: アーティファクト project_group:B:jar:0.1-SNAPSHOT を見つけられませんでした。

プロジェクトの構成は以下の通りです。

/pom.xml
/A/pom.xml
/B/pom.xml

親Pomは以下の通りです。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  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>project_group</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  <version>0.1-SNAPSHOT</version>
  <name>parent</name>

  <modules>
    <module>A</module>
    <module>B</module>
  </modules>

最初の子モジュール(依存関係の解決に失敗したもの)。

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>parent_group</groupId>
    <artifactId>parent</artifactId>
    <version>0.1-SNAPSHOT</version>
  </parent>
  <artifactId>A</artifactId>
  <packaging>jar</packaging>
  <name>A</name>

  <dependencies>
    <dependency>
      <groupId>parent_group</groupId>
      <artifactId>B</artifactId>
      <version>0.1-SNAPSHOT</version>
    </dependency>

2番目の子モジュール(依存関係)。

  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>parent_group</groupId>
    <artifactId>parent</artifactId>
    <version>0.1-SNAPSHOT</version>
  </parent>
  <artifactId>B</artifactId>
  <packaging>jar</packaging>
  <name>B</name>

どのように解決するのですか?

あなたは mvn clean install を少なくとも一度は実行し、依存関係をローカルリポジトリにインストールしましたか?