【发布时间】:2014-02-27 10:44:06
【问题描述】:
我们遇到的情况是,当文件不存在时,我们需要将一些属性文件复制到类路径。
我们正在使用 maven 构建和 maven ant 任务来复制文件。
我们使用过如下的复制任务:
<copy file="src/systemConfig.properties" tofile="src/test/resources/systemConfig.properties" />
当文件不存在或目标文件比src文件旧时,此复制任务将src文件复制到dest。
但是,当且仅当文件不存在时,我才需要进行复制。
你能帮帮我吗?
【问题讨论】:
-
你确定你使用的是正确的Maven吗?在测试阶段之前,所有测试资源都被复制到构建目录
test-classes目录中,因此即使您更改文件内容,在下一次构建时它们也会恢复。那么为什么不将src中的文件直接放在src/test/resources中呢?在构建时弄乱源目录是个坏主意,这就是构建目录的用途。 -
我正在使用 maven-antrun-plugin 1.7 版和以下执行代码
copy-system-config process-test-sources 运行 -
您不理解之前的评论,该评论准确地解释了如何使用已经满足您需求的 Maven。所以不需要anttask。除此之外,如果你有集成测试,你应该使用 maven-failsafe-plugin 和不同的方式,但通过 ant taks 复制文件是错误的方式。
-
khmarbaise 和 Blank Chisui,感谢您的 cmets。 test/resourec 中的 systemConfig.prop 将由用户根据他们的环境进行修改。因此,如果测试/资源中所有准备就绪,我们计划不更新 sysConf。任何新的配置更改,用户应在测试/资源中的 syscon 中手动更新
标签: java jakarta-ee ant maven-3