有人可以建议我一个解决方案,但有以下例外.我将要创建一个多模块项目.
父项目名称为LOGICBACKEND
子项目名称是DBAccess
我需要有一个LOGICBACKEND的耳机文件,该文件应包含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>
这就是孩子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>
有人帮我在这里了解这里出了什么问题.
提前感谢任何帮助
解决方法
这个简单的设置是一个很好的开始.
. ├── pom.xml ├── services | ├── pom.xml | └── src | └── main | └── java | └── com | └── stackoverflow | └── MyEjbService.java └── application └── pom.xml
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>${project.artifactId}-${project.version}</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <modules> <module>services</module> <module>application</module> </modules> <dependencies> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>services</artifactId> <version>${project.version}</version> <type>ejb</type> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <artifactId>maven-ejb-plugin</artifactId> <version>2.3</version> <configuration> <ejbVersion>3.1</ejbVersion> </configuration> </plugin> </plugins> </build> </project>
服务/ pom.xml的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>services</artifactId> <packaging>ejb</packaging> <name>${project.artifactId}-${project.version}</name> </project>
应用程序/ pom.xml的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>application</artifactId> <packaging>ear</packaging> <name>${project.artifactId}-${project.version}</name> <dependencies> <dependency> <groupId>com.stackoverflow.Q13330930</groupId> <artifactId>services</artifactId> <type>ejb</type> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-ear-plugin</artifactId> <version>2.7</version> <configuration> <defaultLibBundleDir>lib</defaultLibBundleDir> </configuration> </plugin> </plugins> </build> </project>