Maven 2 maven antrun将资源复制到基本目标目录

Maven 2 maven antrun将资源复制到基本目标目录,maven-2,resources,copy,target,Maven 2,Resources,Copy,Target,我正在学习如何将maven用于我的独立java应用程序,但我不知道如何将所有目录从/src/main/resources递归复制到/taget directory 我尝试使用antrun和resources插件,但资源被复制到/target/classes,而不是/target 这里怎么了 <build> <pluginManagement><plugin> <artifactId>maven-antrun-plugin</ar

我正在学习如何将maven用于我的独立java应用程序,但我不知道如何将所有目录从/src/main/resources递归复制到/taget directory

我尝试使用antrun和resources插件,但资源被复制到/target/classes,而不是/target

这里怎么了

<build>
  <pluginManagement><plugin>
     <artifactId>maven-antrun-plugin</artifactId>
     <version>1.4</version>
     <executions>
      <execution>
       <phase>process-resources</phase>
       <configuration>
        <tasks>
         <copy todir="${basedir}/target">
          <fileset dir="${basedir}/src/main/resources" includes="**/*" />
         </copy>
        </tasks>
       </configuration>
       <goals>
        <goal>run</goal>
       </goals>
      </execution>
     </executions>
    </plugin>  </pluginManagement>
 </build>

maven antrun插件
1.4
过程资源
跑
谢谢你的帮助

编辑: 我会复制到/target目录,比如“bin”、“logs”、“conf”,这样我就可以测试应用程序了。使用另一个maven任务,将所有内容(jars和bin/conf/tmp dirs)打包到zip/tar.gz文件中。

  • 尝试使用
    而不是
  • 将东西复制到目标以测试它感觉有点奇怪。您会在每次需要测试应用程序时运行maven吗

我认为你用错了maven

通常,您不需要将资源“复制”到目标。它已经由maven自动完成了

如果您在测试中需要一些额外的资源,您可以添加

<build>
   <testResources>
        <testResource>
            <directory>${basedir}/src/test/anotherKindOfResourceDir</directory>
        </testResource>
    </testResources>
<build>

${basedir}/src/test/anotherKindOfResourceDir

而且,正如lexicore所说,您不应该使用插件管理。“pluginManagement”和“dependencyManagement”一样,在项目真正使用该插件/具有该依赖性时提供了一个“模板”。这意味着,添加插件管理/依赖项管理不会触发任何插件/不会向项目添加任何依赖项。

您可以使用
copy-todir
使用
maven-antrun-plugin

<tasks>
    <mkdir dir="${basedir}/target/folder"/>
    <copy todir="${basedir}/target/folder">
        <fileset dir="${basedir}/src/folder" includes="**/*" />
    </copy>
</tasks>


最后,它成功了!正因为如此(我不得不调查plugin和pluginmanagement之间的差异),我也会使用maven进行单元测试,但我不会每次都复制资源(静态文件)。谢谢你的帮助。也谢谢你的回复,现在我知道了“插件管理”和“插件”的区别,我认为主要的问题不是真正的插件管理和插件。我认为在准备单元测试资源时不需要做这样的事情