你好,我正在尝试在我的父 pom 中创建一个自定义描述符 ref,它将所有依赖项与源打包在一起。我很好地确定了 assembly.xml,但是当我将它添加到我的基本 POM 程序集时:程序集失败,如下所示:
[INFO] [assembly:assembly]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error reading assemblies: No assembly descriptors found.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error reading assemblies: No assembly descriptors found.
但是 assembly:single 似乎可以正常工作。我也尝试过将 jar-with-dependencies ref 添加到 POM 中,但我不确定这是否可能。
这是我的基础 pom 中的内容:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-3</version>
<dependencies>
<dependency>
<groupId>mycompany.jar.assembly</groupId>
<artifactId>jar-with-dependencies-and-sources-test</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
当我从命令行调用 mvn assembly:assembly 时,有人知道该让谁让它工作吗?
提前致谢。
最佳答案
我不确定,但我有一个怀疑。您将 assembly:single 定义为包阶段的一部分,并在执行元素中标识描述符。这可能意味着当您运行 assembly:assembly 时,插件不知道去哪里寻找描述符。尝试复制您的 <configuration>
元素到 <executions>
之外元素。
我的一个 poms 看起来像这样,我一直使用 assembly:assembly:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
<configuration>
<finalName>myJar</finalName>
<descriptors>
<descriptor>src/main/config/descriptor.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>org.foo.Bar</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
备注src/main/config
不是 Maven 标准路径,但我没有定义任何特殊处理。
关于java - Maven 程序集 :assembly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967779/