2 つの異なるプロジェクトをコンパイルし、このディレクトリにクラスを作成する Maven プロジェクトがあります: ${project.build.directory}/classes
${project.build.directory} は、pom.xml が存在するディレクトリを指します。
各プロジェクトの関連するディレクトリ/クラスからjarファイルを作成するために、異なる「実行」ブロックでmaven-jar-pluginを使用しています。私は Maven に非常に慣れていないため、適切な "include" および "exclude" ディレクトリを定義するのが困難です。
これは私のクラスが存在する構造です:
\ターゲット\クラス\com
\target\classes\com\microsoft
\target\classes\com\google
\ターゲット\クラス\org
最初の jar ファイルは、次のクラスから作成する必要があります。
\target\classes\com\microsoft
\ターゲット\クラス\org
2 番目の jar は、これらのクラスから作成する必要があります。
\target\classes\com\google
以下は、これらのjarを作成するための「実行」ブロックを持つ「ビルド」ブロックの一部です。最初の jar は msn-prod と呼ばれ、もう 1 つは google と呼ばれます。ご覧のとおり、これらの jar を作成するためにさまざまな組み合わせをすべて試しましたが、どれも機能しませんでした。これらは、コメントされている部分として次のビルド ブロックに存在します。
誰かがこれについて私を助けてくれますか? どんな助けでも大歓迎です。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>msn-prod</id>
<goals><goal>jar</goal></goals>
<phase>generate-resources</phase>
<configuration>
<classifier>msn-prod</classifier>
<!-- <classesDirectory>${project.build.directory}/classes/com/microsoft</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>
<classesDirectory>${project.build.directory}/classes/org</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>-->
<classesDirectory>${project.build.directory}/classes</classesDirectory>
<!-- <includes>
<include>**/*.class</include>
</includes>-->
<!-- <excludes>
<exclude>**/com/google/*</exclude>
</excludes>-->
<!-- <excludes>
<exclude>**/google/*.class</exclude>
</excludes>-->
<includes>
<include>**/com/microsoft/*.class</include>
<include>**/org/*.class</include>
</includes>
<finalName>${msn.prod}-${msn.api.version}</finalName>
</configuration>
</execution>
<execution>
<id>google</id>
<goals><goal>jar</goal></goals>
<phase>generate-resources</phase>
<configuration>
<classifier>google</classifier>
<!-- <classesDirectory>${project.build.directory}/classes</classesDirectory>
<includes>
<include>**/com/google/*.class</include>
</includes>-->
<classesDirectory>${project.build.directory}/classes/com/google</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>
<finalName>${google}-${google.api.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>