Maven不会使用mavenAssemblyPlugin附加未归档的文件

Ser*_*hyi 5 maven maven-assembly-plugin

我有一些文件列表(.jil)。我想使用maven-assembly-plugin将它们附加到构建中。

我毫不费力地以“ zip”格式部署它们。
但是,“ dir”格式引发异常:

[警告]汇编文件:C:\ Branches \ project-branch \ target \ project \ output \目录不是常规文件(可能是目录)。不能将其附加到项目版本以进行安装或部署。

pom文件:

<build>
  <plugins>

    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.2.1</version>
      <executions>

        <execution>
          <id>make-devq</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
          <configuration>
            <descriptors>
              <descriptor>
                ${basedir}/environments/dev/assembly/descriptor.xml
              </descriptor>
            </descriptors>
            <finalName>project</finalName>
            <appendAssemblyId>true</appendAssemblyId>
            <workDirectory>              
              ${project.build.directory}/${project.artifactId}/work/project
            </workDirectory>
            <outputDirectory>
              ${project.build.directory}/${project.artifactId}/output
            </outputDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

程序集描述符:

<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">

    <id>project-id</id>
    <formats>
        <format>dir</format>
    </formats>

    <includeBaseDirectory>false</includeBaseDirectory>

    <fileSets>

        <fileSet>
            <directory>${basedir}/environments/dev/jils/</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>*.jil</include>
            </includes>       
        </fileSet>

    </fileSets>

</assembly>
Run Code Online (Sandbox Code Playgroud)

khm*_*ise 1

要添加单独的文件,您应该使用build-helper-maven-plugin,它为您提供了此类选项。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <!-- add configuration for antrun or another plugin here -->
      </plugin>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>some file</file>
                  <type>extension of your file </type>
                  <classifier>optional</classifier>
                </artifact>
                ...
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
Run Code Online (Sandbox Code Playgroud)

使用 dir 格式,您无法将这些文件附加到您的项目中。顺便说一句:maven-assemble-plugin 当前的最新版本是 2.4。