Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven antrun插件复制资源仅在验证阶段有效_Maven_Maven Antrun Plugin - Fatal编程技术网

maven antrun插件复制资源仅在验证阶段有效

maven antrun插件复制资源仅在验证阶段有效,maven,maven-antrun-plugin,Maven,Maven Antrun Plugin,我使用maven antrun插件版本1.8将一些文件复制到src/main/resources文件夹,以便在打包阶段将其包含在jar中 如果定义为复制到资源文件夹的任务的执行阶段是“验证”,则一切正常,但如果是“编译/测试”,则文件将复制到src/main/resources文件夹,但不包括在jar中,理解该文件很重要。将Antrun插件绑定到足够早的阶段,以实现您想要的 ——考虑将其他资源打包成一个jar,然后将该jar添加为依赖项,而不是添加ANTURN插件调用。或者,使用汇编插件。这是因

我使用maven antrun插件版本1.8将一些文件复制到src/main/resources文件夹,以便在打包阶段将其包含在jar中


如果定义为复制到资源文件夹的任务的执行阶段是“验证”,则一切正常,但如果是“编译/测试”,则文件将复制到src/main/resources文件夹,但不包括在jar中,理解该文件很重要。将Antrun插件绑定到足够早的阶段,以实现您想要的


——考虑将其他资源打包成一个jar,然后将该jar添加为依赖项,而不是添加ANTURN插件调用。或者,使用汇编插件。

这是因为资源文件夹在Maven的流程资源阶段被复制到目标文件夹。因此,要获取jar/war的resources文件夹中的文件,您需要在process resources阶段之前将文件复制到resources文件夹,也就是说,您可以选择maven的validate、initialize和generate sources阶段进行相同操作。

为什么要复制这些文件?为什么不把它们放在src/main/resources中呢?我试图复制一些不在同一个项目中的外部资源。这听起来是错误的,因为资源属于使用它们的项目……而且,如果您在另一个项目中有资源,而该项目不使用对包含资源的jar的依赖关系,那么它们就位于类路径上了?