代码拆分
项目原结构如下图:
拆分后结构如图:
在idea中打开项目,
选中项目右键选择
创建两个maven项目,起名model-code,model-web。
把原项目的entity,mapper,vo,resources下面的myBatis的文件放到model-code项目下,结构如图:
原来项目剩下的文件都可以放到model-web项目下。
修改model-code项目的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <!-- 最外层的pom.xml的信息 --> <artifactId>model</artifactId> <groupId>com.rocket</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <!-- 自己的项目配置 --> <groupId>com.rocket</groupId> <artifactId>model-code</artifactId> <version>0.0.1</version> <name>model-code</name>
<!-- 打jar --> <packaging>jar</packaging> <properties> <java.version>1.8</java.version> </properties> <!-- 引用的依赖 --> <dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.2</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.0.3.RELEASE</version> </dependency> </dependencies> </project>
修改model-web项目的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <!-- 最外层的pom.xml的信息 --> <artifactId>model</artifactId> <groupId>com.rocket</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <!-- 自己的项目配置 --> <groupId>com.rocket</groupId> <artifactId>model-web</artifactId> <version>0.0.1</version> <name>model-web</name> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--web启动器依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mode-code项目依赖 --> <dependency> <groupId>com.rocket</groupId> <artifactId>model-code</artifactId> <version>0.0.1</version> </dependency> </dependencies> <!-- 使用spring-boot-maven-plugin进行插件打包 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
修改model项目的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!-- 包含的两个项目 --> <modules> <module>model-code</module> <module>model-web</module> </modules> <!-- 项目信息 --> <groupId>com.rocket</groupId> <artifactId>model</artifactId> <version>0.0.1-SNAPSHOT</version> <name>model</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> </project>
启动项目,就可以正常访问。
项目启动的时候会自动,把model-code项目打包,更新code项目的实体,重新启动也会生效。
上面两个如果不生效应该就是拆分不规范。