[英]How to do file copy in maven plugin?
現在,我正在編寫一個Maven依賴項A,並在項目B中使用此依賴項。兩者的文件結構為:
依賴關系A:
項目B:
我想做的是在項目B中運行mvn spring-boot:run時,將A的src / main / resources / files中的test.txt復制到項目B中的/ WebContent中。
我試過的是在Dependency A中編寫以下代碼:
final File test = new File("files/test.txt");
final File dest = new File("WebContent");
try {
FileUtils.copyFileToDirectory(test, dest);
} catch (final IOException e) {
e.printStackTrace();
}
但是當我執行mvn spring-boot:run時,它說該文件不存在。
盡管我不建議從一個項目復制到另一個項目。 即使兩個項目中的資源相同,每個資源也應作為自己的資源存在,以保持其完整性。 另外,考慮到您正在尋找使用maven的解決方案。
多模塊Maven項目可以使用遠程資源插件在公共位置捆綁資源-
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>**/*.ddl</include>
<include>**/*.sql</include>
</includes>
</configuration>
</plugin>
來源 -Maven遠程資源
要將資源復制到默認布局或構建/資源中不包含的模塊內或目標目錄中,您還可以將Maven資源插件用作
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/extra-resources</outputDirectory>
<resources>
<resource>
<directory>src/non-packaged-resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.