如何将自己的书面汇编文件包含在maven项目中?

时间:2014-09-05 06:43:50

标签: java maven maven-assembly-plugin

我为maven项目编写了一个自己的程序集文件,用于使用maven程序集插件构建war文件。

我不确定,我的assemmbly.xml文件必须放在maven项目的哪个路径?我可以通过哪种方式在文件pom.xml中配置该路径?

这是我的汇编文件:

<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">

    <id>FirstWarFileTest</id>

    <formats>
        <format>war</format>
    </formats>

</assembly>

以下是我的pom.xml文件的片段:

 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-assembly-plugin</artifactId>
     <configuration>                    
        <descriptorRef>
            <descriptor>assembly/assembly.xml</descriptor>
        </descriptorRef>

   .....
  </plugin>

在我插入命令mvn clean install之后,我收到以下错误消息: 没有找到装配描述员。

1 个答案:

答案 0 :(得分:0)

除了您的定义错误之外,标签descriptorRef用于predefined descriptors

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <!-- NOTE: We don't need a groupId specification because the group is
             org.apache.maven.plugins ...which is assumed by default.
         -->
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        [...]
</project>

如果您使用自己的文件,则必须通过:

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <descriptors>
            <descriptor>src/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        [...]
</project>
相关问题