我父母一个人有四个孩子。其中一个孩子是建造一个包含其他3个模块罐子的拉链。这有效,但它没有获取各自的依赖关系。
module-build pom.xml:
...
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<descriptors>
<descriptor>desc.xml</descriptor>
</descriptors>
</configuration>
</plugin>
...
desc.xml:
...
<moduleSets>
<moduleSet>
<binaries>
<unpack>false</unpack>
<dependencySets>
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</binaries>
</moduleSet>
</moduleSets>
...
未创建结果“lib”文件夹。
任何帮助都将不胜感激。
答案 0 :(得分:1)
你是否已将其他3个模块指定为第4个模块的依赖项,而不是在父模块部分中?
如果这样做,即使你这样做也应该有效:
<assembly>
<id>final</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
答案 1 :(得分:1)
也许有点晚了,但无论如何:)。 您应该在父项目中移动程序集,但这不是真正的问题。
使用插件版本:
我的,这完全是功能性的(但是用法语,请原谅我;)
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<!-- Ce chemin est lié au plugin maven-jar et à la génération du manifest
: à manipuler avec précautions -->
<id>lib</id>
<formats>
<format>zip</format>
</formats>
<!-- Supprimer la création d'un répertoire dans l'archive au nom du projet -->
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>false</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
这是插件的内置功能(获取依赖项)。但是我从来没有在多模块项目中使用它,我知道使用ob ModuleSet有一些棘手的考虑......
希望这会有所帮助...