私は同じ問題を抱えていました。戦争オーバーレイを使用して解決しました。
クライアントの構成プロジェクトで拡張された親プロジェクトに基本テーマがあります。ここで説明されているように、構成プロジェクトは単純にランタイム依存関係として war を使用し、親プロジェクトのファイルはオーバーレイされます。
クライアントのプロジェクトに依存関係を追加するだけです:
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>my-parent-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
親プロジェクトのスタイルをクライアントのテーマの styles.css ファイルにインポートします。
@import "../parent-theme/styles.css"
クライアントのスタイルを追加します。
親プロジェクトのクラスを使用する必要がある場合attachClasses
は、maven-war-plugin 構成でプロパティを true に設定し、デバッグに必要な場合は maven-source-plugin を使用してソースをアタッチすることもできます。
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<attach>true</attach>
</configuration>
</plugin>
それらをクライアントのプロジェクトに含めます。
<dependency>
<groupId>com.mygroup</groupId>
<artifactId>my-parent-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>classes</classifier>
<type>jar</type>
<scope>compile</scope>
</dependency>