application
businessModel
commonModel
第三方model
1,简单创建
packaging标签指定打包方式,默认为jar,如果是父工程,必须设置为pom。web项目是war。
maven项目默认结构
src
target
.pom
父工程需要删掉src目录。
pom Project Object Module 项目对象模型,该文件可以被继承。
2,目录结构
1)并列的目录结构
TestMaven01/
├── Test01Parent
│ ├── Test01Parent.iml
│ └── pom.xml
├── Test02Child
│ ├── Test02Child.iml
│ └── pom.xml
├── Test03Web
│ ├── Test03Web.iml
│ ├── pom.xml
│ └── src
└── Test04Java
├── Test04Java.iml
├── pom.xml
└── src
空项目 TestMaven01下,01Parent为父项目、02Child、03Web为子项目。
配图1
2)嵌套的目录结构
TestMaven02/
├── Test01Java
│ ├── Test03Maven
│ ├── pom.xml
│ └── src
├── Test02Web
│ ├── pom.xml
│ └── src
└── pom.xml
TestMaven02是父项目,01Java、02Web是子项目,这是idea目前默认的方式。
配图2
3)混合目录结构
1和2的混合。
3,父项目统一管理编译插件
<build> <!-- 父工程中除统一管理依赖外,还可以统一管理编译插件 --> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
父项目设置,子项目统一更改。
4,父项目统一管理依赖
父项目声明式依赖
<!-- 父模块统一管理版本号 --> <properties> <mysql.version>8.0.22</mysql.version> <spring-mvc-version>4.3.16.RELEASE</spring-mvc-version> </properties> <!-- 声明式依赖 --> <dependencyManagement> <!-- 父工程依赖,子工程自动继承 --> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> </dependencies> </dependencyManagement>
子项目按需调用
<dependencies> <!-- 声明式依赖,子模块继承父模块版本 --> <!-- 如果子模块自定义了version,就近原则 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!--<version>8.0.20</version>--> </dependency> </dependencies>
senRsl
2022年06月29日15:55:13
没有评论 :
发表评论