Maven Resources插件:如何将资源复制到目标文件夹并保留时间戳?

当我在项目上执行清理和构建时,Maven将所有资源复制到目标文件夹,但是使用创建的时间戳,而不是src / main / resources文件夹中原始文件的时间戳。 有可能以某种方式指示它保留原始时间戳吗?

这对我们来说有问题的原因是我们正在开发的软件在启动时具有数据库迁移,我们希望它在开发人员机器上保持执行。 但是由于时间戳不断变化,这会给数据库带来不必要的资源重新加载。

我不认为使用Maven资源插件的默认function是可能的。

您是否可以在运行时更改文件加载的路径(可能是根据环境进行配置)? 如果是这样,那么也许你可以使用ant与maven并使用具有preservelastmodified属性的ant的复制任务

意图是Maven的资源处理将继续像往常一样工作,但文件也将被复制到每个构建到运行时使用的单独位置。

解决方案是使用ant的复制任务。 这是通过两个步骤完成的:1)从我们希望保留日期的文件的正常处理中排除(在此示例中我处理测试资源。这同样适用于构建资源):

  src/test/resources  **/some-files*/**    

2)第二步是使用mave ant插件使用ant任务复制它们:

  maven-antrun-plugin 1.7   process-test-resources           run