問題
ネストされた複数のモジュールがあります (正しい用語ですか?) Maven プロジェクトと、モジュールの 1 つの依存関係が jar にパッケージ化されていません。mvn clean package
このプロジェクトは、実際には私が書いていない別のもののフォークであり、どこかでビルドプロセスを中断しましたが、自分が何をしたかを知ることができないようです.
プロジェクトの構造は次のとおりです。
- 根
- 分布 (親 = ルート)
- child1 (親 = ルート) <-- この依存関係がパッケージ化されない
- child2 (親 = ルート)
Poms は次のとおりです (すべてをここに投稿して申し訳ありませんが、どこを見ればよいかわかりません)。
根
<groupId>com.something</groupId>
<artifactId>root</artifactId>
<packaging>pom</packaging>
<modules>
<module>child1</module>
<module>child2</module>
<module>distribution</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
分布
<parent>
<groupId>com.something</groupId>
<artifactId>root</artifactId>
</parent>
<artifactId>distribution</artifactId>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors
<descriptor>src/main/assembly/distribution.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
子1
<parent>
<groupId>com.something</groupId>
<artifactId>root</artifactId>
</parent>
<artifactId>child1</artifactId>
<packaging>jar</packaging>
<dependencies>
many dependencies here...
</dependencies>
子2
<parent>
<groupId>com.something</groupId>
<artifactId>root</artifactId>
</parent>
<artifactId>child2</artifactId>
<packaging>jar</packaging>
<dependencies>
many dependencies here...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
配布.xml
<id>package</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>..</directory>
<outputDirectory>.</outputDirectory>
<fileMode>0644</fileMode>
<includes>
<include>README</include>
<include>CHANGELOG</include>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
</includes>
</fileSet>
<fileSet>
<directory>../bin</directory>
<outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<fileSet>
<directory>../workloads</directory>
<outputDirectory>workloads</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
</fileSets>
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includeSubModules>true</includeSubModules>
<sources>
<includeModuleDirectory>true</includeModuleDirectory>
<fileSets>
<fileSet>
<directory>.</directory>
<fileMode>0644</fileMode>
<includes>
<include>README</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/conf</directory>
<outputDirectory>conf</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
<fileSet>
<outputDirectory>lib</outputDirectory>
<directory>target</directory>
<includes>
<include>*.jar</include>
</includes>
<fileMode>0644</fileMode>
</fileSet>
</fileSets>
</sources>
</moduleSet>
</moduleSets>
注: コードは github にあります。誰かが実際のプロジェクトを見る時間と欲求がある場合は、喜んでリポジトリへのリンクを提供します!