Java 父pom.xml的打包无效,必须为;pom“;但这是";“耳朵”;

Java 父pom.xml的打包无效,必须为;pom“;但这是";“耳朵”;,java,maven,maven-3,ear,maven-ear-plugin,Java,Maven,Maven 3,Ear,Maven Ear Plugin,除了以下例外,谁能给我一个解决方案吗。我将创建一个多模块项目 父项目名称为LOGICBACKEND 子项目名称为DBAccess 我需要一个LOGICBACKEND的ear文件,它应该包含DBAccessprjoectsjar文件 当我运行mav clean install-p Developer时,出现以下异常 [ERROR]The project com.project1.Database:DBAccess:1.0-SNAPSHOT (C:\Project1\DBAccess\pom.xml

除了以下例外,谁能给我一个解决方案吗。我将创建一个多模块项目

父项目名称为
LOGICBACKEND
子项目名称为
DBAccess

我需要一个
LOGICBACKEND
的ear文件,它应该包含
DBAccess
prjoects
jar
文件

当我运行
mav clean install-p Developer
时,出现以下异常

[ERROR]The project com.project1.Database:DBAccess:1.0-SNAPSHOT (C:\Project1\DBAccess\pom.xml) has 1 error
[ERROR]Invalid packaging for parent POM com.project1.logic:LOGIC:1.0-SNAPSHOT (C:\Project1\pom.xml), must be "pom" but is "ear" @ com.project1.logic:LOGIC:1.0-SNAPSHOT, C:\Project1\pom.xml, line 6, column 13
这就是我的父母pom.xml的一部分的外观

<modelVersion>4.0.0</modelVersion>
<groupId>com.project1.logic</groupId>
<artifactId>LOGICBACKEND</artifactId>
<packaging>ear</packaging>
<version>1.0-SNAPSHOT</version> 
4.0.0
com.project1.logic
逻辑后端
耳朵
1.0-快照
这就是child pom.xml的外观

<groupId>com.project1.logic</groupId>
<artifactId>DBAccess</artifactId>
<packaging>ejb</packaging>
<name>DBAccess</name>
<version>1.0-SNAPSHOT</version>

<parent>
    <groupId>com.project1.logic</groupId>
    <artifactId>DBAccess</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
</parent>
com.project1.logic
数据库访问
ejb
数据库访问
1.0-快照
com.project1.logic
数据库访问
1.0-快照
../pom.xml
谁能帮我弄明白这里出了什么问题


提前感谢您提供的任何帮助

您正在尝试为父pom提供两个功能,即同时充当父pom(打包
pom
)和包装器ear(打包
ear
)。为了解决您的问题,您应该在父pom下创建另一个maven模块,该模块具有打包
ear
,并使用maven ear插件定义输出。

这个简单的设置是一个良好的开端

. ├── pom.xml ├── services | ├── pom.xml | └── src | └── main | └── java | └── com | └── stackoverflow | └── MyEjbService.java └── application └── pom.xml
services/pom.xml


4.0.0
com.stackoverflow.Q13330930
父母亲
1.0-快照
com.stackoverflow.Q13330930
服务
ejb
${project.artifactId}-${project.version}
application/pom.xml


4.0.0
com.stackoverflow.Q13330930
父母亲
1.0-快照
com.stackoverflow.Q13330930
应用
耳朵
${project.artifactId}-${project.version}
com.stackoverflow.Q13330930
服务
ejb
maven耳朵插件
2.7
解放党

错误信息非常清楚。家长必须有包装pom。但我希望包装是ear,这应该是可能的。这是可能的,但不是作为家长。你能给我举个例子吗,我不太明白你在这里提到的内容。谢谢你的回复,我可以知道你为什么要为家长pom.xml安装maven ear插件吗?你也可以将它放在ear项目中。在这种情况下,这并不重要。