- 分模块构建Maven项目工程分析
- maven工程的继承
- maven工程的聚合
- 具体实现
1. 分模块构建Maven项目工程分析
1.项目分为前台和后台两部分,需要建立两个war包(后面有详细教程),所以需要两个tomcat,使用不同的端口号来控制,这就需要修改tomcat,service.xml里面的端口号,暂定前台8080,后台8081
2.后台项目分析:
3.区分pom,jar包和war包
pom用来打包
jar包 实体类:非控制层
war包 控制层
2.maven工程的继承
在Java语言中,类之间是可以继承的,通过继承,子类就可以引用父类中非private的属性和方法。同样,在maven工程之间也可以继承,子工程,父工程后,就可以使用在父工程中引入的依赖。继承的目的是为了消除重复代码。
父工程:被继承的maven工程通常被称为父工程,父工程的打包方式必须为pom,所以区分某个maven工程是否为父工程就看这个父工程的打包方式是否为pom
#被继承的Maven项目中的POM的部分定义
<groupId>com.manong</groupId>
<artifactId>maven-parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
子工程:继承其他Maven工程费工程通常称为子工程,在pom.xml文件中通过parent标签进行对父工程的继承
#继承的Maven工程中的POM的关键部分
<parent>
<artifactId>maven-parent</artifactId>
<groupId>com.manong</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>maven-dao</artifactId>
3. maven工程的聚合
在maven工程中的pom.xml文件中可以使用modules标签将其他maven工程聚合到一起,聚和的目的是为了进行统一操作。
#这里有5个工程被聚合到了一起
<modules>
<module>maven-web</module>
<module>maven-entity</module>
<module>maven-service</module>
<module>maven-dao</module>
<module>maven-web</module>
</modules>
4.具体实现
1.打开IEDA,新建一个项目
点击下一步
删除不用的src文件
2.在maven-parent下新建子工程maven-service,maven-dao,maven-entity
点击下一步,选择Parent,更改Name
同理,创建其他两个子工程
3.创建maven-web子工程(创建war包)
删除pom.xml文件中多余的dependencies标签和build标签中的内容
4.测试tomcat
https://blog.csdn.net/With_Her/article/details/89243777
然后点击右上角的小虫子图标,等待加载完毕,就可以跳出下面的页面,如果页面长时间不跳转,打开坐下部分的Tomcat Localhost Log查看具体信息
5.安装依赖包
打开maven-parent下的pom.xml文件添加
```bash
<!-- 锁定版本信息 -->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!-- spring相关版本 -->
<spring.version>5.2.8.RELEASE</spring.version>
<!-- mybatis版本 -->
<mybatis.version>3.5.5</mybatis.version>
<!-- mybatis-spring版本 -->
<mybatis-spring.version>2.0.5</mybatis-spring.version>
<!-- mysql版本 -->
<mysql.version>8.0.19</mysql.version>
<!-- fast json版本 -->
<fast-json.version>1.2.73</fast-json.version>
<!-- jackson版本 -->
<jackson.version>2.11.2</jackson.version>
</properties>
<!-- 依赖坐标 -->
<dependencies>
<!-- Data依赖相关-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
<!--spring相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!--mybatis相关-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- DBCP数据源 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- spring web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- jsp -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JSR 303依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.3.Final</version>
</dependency>
<!-- fast json -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fast-json.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>
<!-- commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
等待加载完毕,打开右侧的maven,会出现如下图,每个子工程都加入了依赖包
期间可能出现的问题有:
解决IDEA的maven刷新依赖时出现Connot reconnect错误
【已解决,绝对好用】Error during artifact deployment. See server log for details.
6.给IDEA添加一些插件
{已解决}IDEA中的lombok插件搜索不到的问题
IDEA创建Mapper.xml文件