私は次の構造を持っています:
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)。しかし、実際には、依存関係をコピーしないため、コア モジュールに依存関係がまったくないかのようになります。
ここで何が欠けていますか?