相对目录似乎不适用于maven程序集描述符中的文件集。有什么办法吗?

时间:2013-01-25 05:25:28

标签: java maven maven-3 maven-assembly-plugin

根据maven程序集插件文档,允许使用相对目录,但“..”似乎根本不起作用。

由于我无法进入(而且我无法更改)的原因,我希望在程序集中包含maven项目目录之外的一些文件。

/-
---maven-project/
---some-crap/

我尝试过各种各样的事情:

<fileSets>
    <fileSet>
        <directory>${project.basedir}/../some-crap</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>**/*</include>
        </includes>
    </fileSet>
</fileset>

<fileSets>
    <fileSet>
        <directory>${project.basedir}</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>../some-crap/**/*</include>
        </includes>
    </fileSet>
</fileset>

<fileSets>
    <fileSet>
        <directory>../some-crap</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>**/*</include>
        </includes>
    </fileSet>
</fileset>

等。 我的maven版本是3.0.4(最新)

除了在蚂蚁中写东西以获取这些东西或在组装之前将其复制到我的目标目录之外,我还能做些什么吗?

我真的认为程序集插件将“..”视为目录名称而不是“上升一级”。

感谢。

1 个答案:

答案 0 :(得分:2)

在组装之前如何使用maven-antrun-plugin将文件复制到项目目录?

       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
           <executions>
               <execution>
                   <id>prepare-deploy-package</id>
                   <phase>prepare-package</phase>
                   <goals>
                       <goal>run</goal>
                   </goals>
                   <configuration>
                       <tasks>
                           <copy todir="${project.build.directory}">
                               <fileset dir="../xxxx">
                               </fileset>
                           </copy>
                       </tasks>
                   </configuration>
               </execution>
           </executions>
       </plugin>