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 EAR插件:添加生成的资源_Maven_Ear_Maven Resources Plugin_Maven Ear Plugin - Fatal编程技术网

Maven EAR插件:添加生成的资源

Maven EAR插件:添加生成的资源,maven,ear,maven-resources-plugin,maven-ear-plugin,Maven,Ear,Maven Resources Plugin,Maven Ear Plugin,在自定义Maven插件中,我使用MavenProject的addResource添加一个文件作为资源 这对于JAR项目很有效,但是对于EAR,我看到相关文件被复制到target/classes,然后被忽略。它不在耳朵里 有一个earSourceDirectory属性,我可以通过将其设置为target/classes来“欺骗”Maven,但这似乎是错误的方法 如何处理应该打包到EAR中的生成资源?Maven EAR插件完全忽略了可以为给定工件设置的所有“资源”目录。相反,正如您所提到的,它只依赖于

在自定义Maven插件中,我使用
MavenProject
addResource
添加一个文件作为资源

这对于JAR项目很有效,但是对于EAR,我看到相关文件被复制到
target/classes
,然后被忽略。它不在耳朵里

有一个earSourceDirectory属性,我可以通过将其设置为
target/classes
来“欺骗”Maven,但这似乎是错误的方法


如何处理应该打包到EAR中的生成资源?

Maven EAR插件完全忽略了可以为给定工件设置的所有“资源”目录。相反,正如您所提到的,它只依赖于
earSourceDirectory
属性引用的目录,
src/main/application
是默认值。(见附件)


因此,您有两种选择:要么按照您的建议将该属性值更改为指向
target/classes
,要么生成文件(就像我们为一个项目所做的那样)在
src/main/application
下,它们将被maven-ear插件自动拾取。

您能解释一下需要添加哪些类型的生成资源吗?我想你没有把它们放在正确的位置?@khmarbaise在构建过程中,我们在自己的Maven插件中生成了一个属性文件(包含各种构建属性)。这个文件应该放在工件中(在顶层)。为此,我们使用
addResource
。这对罐子有效,但对耳朵无效。因此,这是关于在Maven插件中生成的属性文件。在生成过程中在
target
之外生成文件似乎不是一个好主意。@JFMeier我们实际上是在
generate resources
阶段生成这些文件,这是直接用于此目的的(即在将资源放入实际工件之前生成资源)但是当您生成资源时,您不会将它们写入
src/main/resources
,是吗?您会将它们写入
target
目录(或其子目录)。我们确实会生成这些文件以
src/main/resources
,并通过
中的表达式忽略这些文件。gitignore
;事实上,我做了一些研究,这里讨论并回答了一个类似的案例:谢谢,但在构建过程中向
src/main/resources
写信是一件危险的事情。调用
m时它不会被清理干净vn clean
,开发人员可能会尝试手动更改它,它可能会意外地出现在SVN中,等等。这对我来说是没有选择的。