5

根据 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(最新)

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

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

谢谢。

4

1 回答 1

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>
于 2013-01-25T08:08:46.567 回答