Maven 使用pom自动复制文件
我的Intellij项目中有3个模块:Maven 使用pom自动复制文件,maven,intellij-idea,kotlin,Maven,Intellij Idea,Kotlin,我的Intellij项目中有3个模块: Java模块 Kotlin模块 杂项文件模块 我在misc files模块中有一个XSD文件,我需要在Kotlin模块的test resources文件夹中有一个精确副本。i、 e.无论何时更新,我都需要将其复制到Kotlin模块 如何更新Kotlin模块的maven POM文件,使其能够自动复制此文件?您不能直接使用maven复制文件,但有一个插件可供其执行Ant任务。其中一个预定义任务是copy,可以如下所示使用。它可以钩住Maven执行的各个阶段
- Java模块
- Kotlin模块
- 杂项文件模块
如何更新Kotlin模块的maven POM文件,使其能够自动复制此文件?您不能直接使用
maven
复制文件,但有一个插件可供其执行Ant
任务。其中一个预定义任务是copy
,可以如下所示使用。它可以钩住Maven
执行的各个阶段。这可能需要一些技巧
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>copy-war-to-docker</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy file="${build.warFile}"
tofile="${basedir}/docker/${build.name}.war"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven antrun插件
1.8
复制战争到docker
包裹
跑
您不能直接使用Maven
复制文件,但它有一个插件可以执行Ant
任务。其中一个预定义任务是copy
,可以如下所示使用。它可以钩住Maven
执行的各个阶段。这可能需要一些技巧
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>copy-war-to-docker</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy file="${build.warFile}"
tofile="${basedir}/docker/${build.name}.war"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven antrun插件
1.8
复制战争到docker
包裹
跑
此文件的用途是什么?它是项目资源吗?什么时候使用?在最终产品中它应该在哪里结束?是的,一个资源文件。你知道,我还不知道最终产品-我只是说kotlin模块的测试资源文件夹(作为副本的目的地)-它用于运行特殊测试完成的一些报告(听起来可能很奇怪,但测试是一种很好的报告方式,因为它们可以参数化,这对本项目很有用)然后,听起来Kotlin模块对misc模块有依赖关系。添加一个与此相关的
,并将文件放在misc项目src/main/resources
文件夹下。这样,Kotlin模块将像访问任何类路径资源一样访问它。好的,我将研究一下-我对模块间操作不熟悉-谢谢不起作用。在调查了.xsd
文件的实际用途之后(这是一个我很久没有接触过的老项目),它被Kotlin模块中的XML文件引用为其模式。因此,该文件需要物理上位于Kotlin模块的resources文件夹中。当然,它也被misc files模块中的XML文件引用,这就是为什么我在两个模块中都需要相同的XSD文件。因此,我想我最初的问题仍然是…该文件用于什么它是一个项目资源吗?什么时候使用?它应该在最终产品中的什么地方结束?是一个资源文件。你知道,我还不知道最终产品-我只是说kotlin模块的测试资源文件夹(作为副本的目的地)-它用于运行特殊测试时完成的一些报告(听起来可能很奇怪,但测试是一种很好的报告方式,因为它们可以参数化,这对本项目很有用)然后,听起来Kotlin模块对misc模块有依赖关系。添加一个与此相关的
,并将文件放在misc项目src/main/resources
文件夹下。这样,Kotlin模块将像访问任何类路径资源一样访问它。好的,我将研究一下-我对模块间操作不熟悉-谢谢不起作用。在调查了.xsd
文件的实际用途之后(这是一个我很久没有接触过的老项目),它被Kotlin模块中的XML文件引用为其模式。因此,该文件需要实际位于Kotlin模块的resources文件夹中。当然,它也被misc files模块中的XML文件引用,这就是为什么我在两个模块中都需要相同的XSD文件。所以我想我最初的问题仍然存在。。。