我有一个文本文件,其中包含我的构建中的文件列表。使用 Maven 构建时,在编译目标之后,我需要创建一个文件夹并将文本文件中提到的文件(以及它们各自项目中的文件夹结构)复制到构建中的一个新文件夹,该文件夹将作为建造时间。然后,程序集描述符将使用此文件夹来创建可分发的 tar 文件。
我对Maven不太熟悉。Maven 中是否有任何功能可以用来完成此操作?或者我应该创建一些将由 Maven 调用的脚本,作为复制文件的目标之一?
好吧,maven 的目的是准备、编译、测试和打包。
但是由于所有的 IT 项目都不同,maven 允许你扩展它的行为。
您需要的内容非常适合您的业务,因此您必须编写自己的脚本来解析列表并将文件复制到某处。
例如:
cat myListOfFiles | xargs -d "\n" -I '{}' cp '{}' /somewhere/in/my/project/'{}'
然后,您可以在编译阶段之后轻松启动脚本(名为:)process-classes
。
您只需要添加插件配置,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>copy-my-files</id>
<phase>process-classes</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>my-script.sh</executable>
<arguments>
<argument>/path/to/the/file-list</argument>
</arguments>
</configuration>
</plugin>
HIH