1

我有一个文本文件,其中包含我的构建中的文件列表。使用 Maven 构建时,在编译目标之后,我需要创建一个文件夹并将文本文件中提到的文件(以及它们各自项目中的文件夹结构)复制到构建中的一个新文件夹,该文件夹将作为建造时间。然后,程序集描述符将使用此文件夹来创建可分发的 tar 文件。

我对Maven不太熟悉。Maven 中是否有任何功能可以用来完成此操作?或者我应该创建一些将由 Maven 调用的脚本,作为复制文件的目标之一?

4

1 回答 1

1

好吧,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

于 2012-12-19T15:01:13.187 回答