运行Python脚本以在编译目标之后将文件复制到文件夹中

时间:2012-12-19 07:44:19

标签: maven file copy

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

我对Maven不太熟悉。我可以使用Maven中的任何功能来配合它吗?或者我应该创建一些将由Maven调用的脚本作为复制文件的目标之一吗?

1 个答案:

答案 0 :(得分: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