【问题标题】:Creating output dir structure with Maven使用 Maven 创建输出目录结构
【发布时间】:2012-03-10 09:41:32
【问题描述】:

我有一个 java 项目 XXX

  • src/main/java
  • src/main/config
  • src/main/脚本

我想要像这样的输出结构

C:/target/XXX.jar C:/目标/脚本

我尝试使用资源插件,但它会将所有内容都打包在 jar 中。

<build>
    <directory>target</directory>
    <outputDirectory>target/classes</outputDirectory>
    <finalName>${artifactId}-${version}</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
    <resources>
        <resource>
            <directory>src/main/config</directory>
        </resource>
        <resource>
            <directory>src/main/scripts</directory>
            <targetPath>/scripts</targetPath>
        </resource>
    </resources>
</build>

【问题讨论】:

    标签: maven maven-2 maven-3


    【解决方案1】:

    maven-assembly-plugin 非常适合这种事情。您可以创建类似这样的描述符(在 src/main/assemble/scripts.xml 中):

    <assembly>
      <id>scripts</id>
      <formats>
        <format>dir</format>
      </formats>
      <fileSets>
        <fileSet>
          <outputDirectory>/scripts</outputDirectory>
          <includes>
            <include>*.*</include>
          </includes>
        </fileSet>
      </fileSets>
    </assembly>
    

    像这样将它连接到您的构建中:

    <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <descriptors>
                <descriptor>src/main/assemble/scripts.xml</descriptor>
              </descriptors>
            </configuration>
            <executions>
              <execution>
                <id>copy-scripts</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
     </build>
    

    这会将程序集的执行绑定到构建的打包阶段。

    此方法将使您能够灵活地更改将来打包脚本的方式,或在构建中复制更多资源。

    【讨论】:

      猜你喜欢
      • 2012-07-24
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      相关资源
      最近更新 更多