Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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配置文件_Maven - Fatal编程技术网

模块中的Maven配置文件

模块中的Maven配置文件,maven,Maven,我有一个带有几个模块的Maven Java EE项目 PROJECT --EJB --WEB1 --WEB2 --EAR 现在,我想创建一个编译并包含WEB1的概要文件,以及一个包含这两者的概要文件 为了从构建中排除/包括模块,我根据所选的概要文件在主pom.xml中包括所需的子模块。这个很好用 问题在于EAR模块中的依赖关系 如何排除模块WEB1或WEB2。重新定义轮廓零件不起作用 问题是:是否有一种方法可以根据所选概要文件控制项目模块中的依赖关系 编辑: 我的错误是,我在中创建了标

我有一个带有几个模块的Maven Java EE项目

PROJECT
 --EJB
 --WEB1
 --WEB2
 --EAR
现在,我想创建一个编译并包含WEB1的概要文件,以及一个包含这两者的概要文件

为了从构建中排除/包括模块,我根据所选的概要文件在主pom.xml中包括所需的子模块。这个很好用

问题在于EAR模块中的依赖关系

如何排除模块WEB1或WEB2。重新定义轮廓零件不起作用

问题是:是否有一种方法可以根据所选概要文件控制项目模块中的依赖关系

编辑:


我的错误是,我在中创建了标记,而不是在根目录中直接创建标记。不可能基于配置文件排除模块,但包含功能使用自maven 3.0.2以来的特殊功能“combine.children”,如中所述

因此,您必须将EAR的最小内容定义为默认内容,并使用概要文件在您的EAR模块中以以下方式添加依赖项/模块:


...
耳朵
...
EJB//指定groupId、artifactId、版本、类型。。。
WEB1
使用WEB2构建
WEB2//指定groupId、artifactId、版本、类型。。。
org.apache.maven.plugins
maven耳朵插件
${maven ear plugin.version}
...
WEB2
WEB2.war
...
...
org.apache.maven.plugins
maven耳朵插件
${maven ear plugin.version}
...
...
EJB
EJB.jar
...
...
WEB1
WEB1.war
...

不可能根据配置文件排除模块,但包含功能与自maven 3.0.2以来的特殊功能“combine.children”配合使用,如中所述

因此,您必须将EAR的最小内容定义为默认内容,并使用概要文件在您的EAR模块中以以下方式添加依赖项/模块:


...
耳朵
...
EJB//指定groupId、artifactId、版本、类型。。。
WEB1
使用WEB2构建
WEB2//指定groupId、artifactId、版本、类型。。。
org.apache.maven.plugins
maven耳朵插件
${maven ear plugin.version}
...
WEB2
WEB2.war
...
...
org.apache.maven.plugins
maven耳朵插件
${maven ear plugin.version}
...
...
EJB
EJB.jar
...
...
WEB1
WEB1.war
...