当前位置: 首页 > 知识库问答 >
问题:

maven程序集插件:描述符ref未使用basedir

韦嘉颖
2023-03-14

我使用maven汇编插件来压缩我的web应用程序dist文件夹。我使用这个描述符Ref文件

<assembly>
    <id>webapp-build</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>dist</directory>
            <outputDirectory>.</outputDirectory>
            <includes>
                <include>**/*</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

我在父pom中使用它作为依赖项,如下所示:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.0</version>
    <dependencies>
        <dependency>
            <groupId>com.company</groupId>
            <artifactId>build-tools</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <id>webapp-build</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <descriptorRefs>
                    <descriptionRef>webapp-build</descriptionRef>
                </descriptorRefs>
                <basedir>${project.assembly.directory}</basedir>
            </configuration>
        </execution>
    </executions>
</plugin>

根据使用此父pom的子级,我想告诉您maven assembly插件必须在哪个目录中使用webapp buildassembly描述符。我用


共有2个答案

冯奇思
2023-03-14

描述符来源目录:

要在其中扫描描述符文件的目录。注意:这可能不适用于装配组件。

仲学真
2023-03-14

descriptorRef用于从类路径或使用预定义描述符加载程序集描述符。如果要使用给定的描述符,则必须使用描述符,如下所示:

 <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>assemblies</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/assembly.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>

此外,maven assembly插件的basedir配置元素不存在:single

 类似资料:
  • 目标是创建一个单一的ZIP文件,但将Maven程序集插件的配置拆分成一个通用的、更具体的描述符。 但是,当两个自定义描述符具有唯一ID时,将创建两个ZIP文件,每个文件都包含预期的内容。当ID相同时,只执行最后一个描述符(或覆盖之前的内容)。 我尝试的是不可能的,还是我错过了一个选项,比如“追加到现有ZIP”,而不是“总是创建新ZIP”?

  • 我需要对maven依赖插件进行更改,以满足我的组织中的独特要求。 我已经从http://maven.apache.org/plugins/maven-dependency-plugin/download.cgi 当我查看它的pom时,我看到它定义了一个父pom,如下所示: 这让我明白,这个项目不能独立构建,至少不能是我拥有的版本。 当试图运行mvn清洁安装无论如何我得到以下错误: 无法下载工件:无

  • 我将maven assembly插件配置为构建2个zip构件: 我使用:cleanpackageassembly:single运行它 此配置运行良好,但它需要3个明确的标签。根目录中的那个应该是真的,因为如果不是,构建将失败(但是,在预期的工作完成之后) 日志: 上次maven程序集插件调用失败:未能执行目标组织。阿帕奇。专家插件:maven程序集插件:2.2-beta-5:single(默认cl

  • 在运行Maven发布插件准备步骤时,我得到以下错误输出,即。但是在命令行中执行相同的操作效果很好。完整的错误堆栈如下。 有什么办法可以解决这个问题吗? 更新: 在本地工作区克隆上执行<code>git ls remote.</code>会产生: 在 Bamboo 克隆上执行 会生成: 这是非常奇怪的,为什么本地开发克隆输出与Bamboo输出如此不同?

  • 我尝试了正确安装Maven的教程,但每当我尝试运行命令“mvn archetype:generate”时,总是会出现这个错误。您是否尝试在cmd和netbeans中运行,错误是相同的。我已经搜索,但我只出现问题或代理或目录。

  • 我正在学习创建maven插件的教程,在运行mvn install时会出现错误。信息抱怨我没有所需的mojo描述符,而注释应该为我生成它们。我正在运行Maven3.0.5并使用intellij作为我的IDE。以下是我的主要课程: 这是我的pom.xml 注意:我必须单独添加注释依赖项,因为主插件api不包含这些类。当我在我的项目上运行mvn install时,输出如下: