- 1、将各个工程中用到的重复jar包提取到parent的pom.xml中,通过properties属性标注版本信息,子模块只记录jar包,而不记录版本号
- 父模块定义如下:
- <properties>
- <hibernate.annotations.version>3.3.0.ga</hibernate.annotations.version>
- <hsqldb.version>1.8.0.7</hsqldb.version>
- </properties>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>${hibernate.annotations.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- <version>${hibernate.annotations.version}</version>
- </dependency>
- <dependencies>
- <dependencyManagement>
- 子模块中定义如下:
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>simple-model</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-commons-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jta_1.1_spec</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
- </dependency>
- </dependencies>
- 2、子模块都应用父模块的grouId和version,
- <parent>
- <groupId>org.sonatype.mavenbook</groupId>
- <artifactId>simple-parent</artifactId>
- <version>1.0</version>
- <!-- 如果没有该属性则该工程必须放到simpe-parent下-->
- <relativePath>../simple-parent/pom.xml</relativePath>
- </parent>
- <artifactId>simple-persist</artifactId>
- <packaging>jar</packaging>
- 同时,该模块依赖其他模块时采用如下方式配置:
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>simple-model</artifactId>
- <version>${project.version}</version>
- </dependency>
- 3、采用mvn dependency:analyze将每个工程中的间接依赖添加到每个模块的工程中。
maven多模块工程的优化原则
最新推荐文章于 2024-02-06 18:04:30 发布