4

私は次の構造を持っています:

main/
  --pom.xml
  --common/
      --pom.xml
  --core/
      --pom.xml

common と core はどちらもメイン プロジェクトのモジュールなので、main/pom.xml は次のようになります。

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>main</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Main APP</name>
  <url>http://maven.apache.org</url>
  <modules>
      <module>common</module>
      <module>core</module>
  </modules>
</project>

それに加えて、common/pom.xml は、将来のすべてのモジュール間でいくつかの共通の依存関係を保持することになっています。今のところ、common/pom.xml は次のようになります。

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>common</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>mod1</name>
    <url>http://maven.apache.org</url>


    <parent>
        <groupId>com.mycompany.app</groupId>
        <artifactId>main</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>common-dependency</groupId>
                <artifactId>common</artifactId>
                <version>3.8.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

最後に、モジュールコアは共通モジュールで定義された依存関係を使用する必要があるため、core/pom.xml で次のようにしました。

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>core</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Core</name>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>com.mycompany.app</groupId>
        <artifactId>main</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

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

</project>

私が望んでいたのは、mvn dependency:copy-dependenciesコアモジュール内で実行するときに、maven が共通モジュールからすべての依存関係もコピーする必要があることです (たとえば、その common-dependency:common)。しかし、実際には、依存関係をコピーしないため、コア モジュールに依存関係がまったくないかのようになります。

ここで何が欠けていますか?

4

1 に答える 1