私が書いた API の実装を提供する Web アプリがあります。したがって、my-webapp (war)、my-api (jar)、および my-impl (jar) の 3 つのアーティファクトのセットがあります。pom は簡単です。 my-impl は my-api を依存関係としてリストし、 my-webapp は my-impl を依存関係としてリストします。mvn install を実行すると、WEB-INF/lib へのパッケージ化中に my-impl が my-api を取り込むことが期待されます。しかし、それは my-impl だけを引き込んでいます。
ここで何が間違っていますか?それとも、このように機能することは期待されていませんか?
更新:これが役立つ場合、次の警告が表示され続けます:
[警告] mine:my-impl:jar:1.1.0.0 の POM が無効です。推移的な依存関係 (存在する場合) は利用できません。詳細については、デバッグ ログを有効にしてください。
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mine</groupId>
<artifactId>my-webapp-packager</artifactId>
<version>${product.version}</version>
<packaging>pom</packaging>
<name>Webapp Packager</name>
<description>Webapp Packager</description>
<modules>
<module>my-webapp</module>
<module>my-api</module>
<module>my-impl</module>
</modules>
</project>
ウェブアプリ:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>mine</groupId>
<artifactId>my-webapp-packager</artifactId>
<version>${product.version}</version>
</parent>
<artifactId>my-webapp</artifactId>
<packaging>war</packaging>
<name>Webapp</name>
<description>Webapp</description>
<dependencies>
<dependency>
<groupId>mine</groupId>
<artifactId>my-impl</artifactId>
<version>${product.version}</version>
</dependency>
</dependencies>
</project>
API:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>mine</groupId>
<artifactId>my-webapp-packager</artifactId>
<version>${product.version}</version>
</parent>
<artifactId>my-api</artifactId>
<packaging>jar</packaging>
<name>API</name>
<description>API</description>
</project>
実装:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>mine</groupId>
<artifactId>my-webapp-packager</artifactId>
<version>${product.version}</version>
</parent>
<artifactId>my-impl</artifactId>
<packaging>jar</packaging>
<name>Impl</name>
<description>Impl</description>
<dependencies>
<dependency>
<groupId>mine</groupId>
<artifactId>my-api</artifactId>
<version>${product.version}</version>
</dependency>
</dependencies>
</project>