java - Maven 程序集 :assembly

标签 java maven-2 assemblies

你好,我正在尝试在我的父 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/

相关文章:

spring - org.springframework :springloaded:jar:1. 2.0.BUILD-SNAPSHOT 的 POM 丢失

maven-2 - 斯普林·罗诉。 Maven 2 原型(prototype)

c# - WindowsImpersonationContext 下的程序集绑定(bind)。如何防止 FileLoadException?

c# - 命名空间还是程序集?

java - 对更改不可变子属性的现有 Javabean 支持

java - ArrayAdapter要求资源ID为DialogFragment中的TextView

maven-2 - Maven2 - pluginManagement 和父子关系的问题

asp.net - 如何使 AppDomain 中的 ASP.NET 程序集保持事件状态?

java - 手动计算字符串 compareTo 字符串的输出

java - 为什么我不必导入在 Java 中不用作变量类型的类?