Java 将输出文件重定向到maven中的目录
如何将输出文件重定向到maven中的自定义目录?假设我的输出目录是test,我希望所有的应用程序输出文件都被写入test。在maven中如何做到这一点?通过“输出目录”,我假设您指的是包含所有构建工件和生成代码的“目标”目录Java 将输出文件重定向到maven中的目录,java,maven,Java,Maven,如何将输出文件重定向到maven中的自定义目录?假设我的输出目录是test,我希望所有的应用程序输出文件都被写入test。在maven中如何做到这一点?通过“输出目录”,我假设您指的是包含所有构建工件和生成代码的“目标”目录 <build> <directory>${buildDirectory}</directory> </build> ${buildDirectory} 以下内容如何: <build> <p
<build>
<directory>${buildDirectory}</directory>
</build>
${buildDirectory}
以下内容如何:
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include> **/*.properties</include>
</includes>
</resource>
</resources>
...
</build>
如果这些“输出文件”是由您的测试生成的,那么在创建这些资源时,只需定义一个前缀,如target/test
或类似的前缀
或者,如果这是您需要的,但不知道如何解释,请查看。否。假设在我的应用程序中,我正在读取输入文件夹中的文件,并对其进行处理。如果在处理文件时发生任何错误,我想将结果写入输出目录。我如何在maven中实现这一点?我不想知道完整用例的答案,只想知道如何将输出重定向到maven中的特定目录?你的意思是将出错的文件复制到另一个目录?maven不会在你的应用程序中运行任何东西。Maven的工作就是建立你的项目,就是这样。我不知道你说的“处理”文件是什么意思。如果它是非标准的,你需要一个自定义插件。也许你的意思是你想在编译时通过属性配置输出路径名?不。就像我说的,我希望maven负责将输出写入输出目录的唯一用例。这一切都在我的代码中配置。当我独立运行我的应用程序时,它可以工作,但当我使用maven时,它不能:(很明显,我遗漏了一些东西。你在这里将输出重定向到哪里?@rickygrimes这里详细说明了要复制哪种文件以及要复制到哪里你不太清楚你的意思和你想做什么。
<plugin>
<groupId>com.github.goldin</groupId>
<artifactId>copy-maven-plugin</artifactId>
<version>0.2.5</version>
<executions>
<execution>
<id>create-archive</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<resources>
<!-- ~~~~~~~~~~~~~~ -->
<!-- Copy resources -->
<!-- ~~~~~~~~~~~~~~ -->
<resource>
<targetPath>${project.build.outputDirectory}/scripts</targetPath>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>bat/setenv*.bat, bat/wrapper*.bat, bat/install*.bat, bat/uninstall*.bat</include>
<include>lib/core</include>
<include>*.jar</include>
</includes>
</resource>
<resource>
<targetPath>${project.build.outputDirectory}/scripts</targetPath>
<directory>${project.basedir}/conf</directory>
<include>resources, scripts</include>
</resource>
<!-- ~~~~~~~~~~~~~~ -->
<!-- Copy directory -->
<!-- ~~~~~~~~~~~~~~ -->
<resource>
<targetPath>${project.build.outputDirectory}/spring</targetPath>
<directory>${project.basedir}/src/main/resources/spring</directory>
</resource>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Copy "compile" dependencies -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<resource>
<targetPath>${project.build.outputDirectory}/lib</targetPath>
<dependency>
<includeScope>compile</includeScope>
</dependency>
</resource>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Unpack two data archives -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~ -->
<resource>
<targetPath>${project.build.outputDirectory}/data</targetPath>
<dependencies>
<dependency>
<groupId>someData</groupId>
<artifactId>dependencyArchive</artifactId>
</dependency>
<dependency>
<groupId>anotherData</groupId>
<artifactId>dependencyArchive</artifactId>
</dependency>
</dependencies>
<unpack>true</unpack>
</resource>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Create final archive and attach it as Maven artifact -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<resource>
<targetPath>${project.build.directory}/zipName.zip</targetPath>
<directory>${project.build.outputDirectory}</directory>
<pack>true</pack>
<attachArtifact>true</attachArtifact>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>