Maven的:从工作区文件夹中复制文件,该文件是目标的外(Maven: copy file from

2019-10-16 13:41发布

在生成过程中,我需要5个复制properties文件从我的项目工作区src/main/resources/my ,到文件夹C:\my (我开发的Windows 7)。 C:\my存在而空。

我使用下面的代码在我的pom.xml文件,但这些文件不会被复制。

在构建,我没有得到任何错误,但我得到了以下的输出:

[INFO] --- maven-resources-plugin:2.5:copy-resources (copy-my-resources) @ my-webapp ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 5 resources

注意,它不说[INFO] Copying 5 resources to somewhere ,当副本是成功的,因为它通常不会。

然而,这些文件不会被复制到C:\my的。

你能看到什么,我应该在我的XML代码改变?

下面是相关的代码:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
            <execution>
                    <id>copy-my-resources</id>

                    <phase>process-resources</phase>

                    <goals>
                            <goal>copy-resources</goal>
                    </goals>
                    <configuration>

                            <!-- overwrite! -->
                            <overwrite>true</overwrite>

                            <outputDirectory>${env.HOMEDRIVE}/my</outputDirectory>
                            <resources>
                                    <resource>
                                            <directory>src/main/resources/my</directory>
                                            <filtering>false</filtering>
                                            <includes>
                                                <include>**/*.properties</include>
                                            </includes>
                                    </resource>
                            </resources>
                    </configuration>
            </execution>
    </executions>
</plugin>

Answer 1:

你可以run mvn -X ...命令从所有插件获得更详细的调试输出。

另外,还要确保$ {} env.HOMEDRIVE属性定义和$ {} env.HOMEDRIVE /我的文件夹存在。



Answer 2:

为了摆脱你必须定义在你的POM属性的警告:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

而且东西放在您的构建像HOMEDRIVE等会让你构建不便于携带。 更好的解决办法是一样的.zip其中包含应用程序的整个配置来创建包。



文章来源: Maven: copy file from workspace to folder which is outside of target