讲一下springboot多模块的构建和部署
因为今天小踩一点坑,话不多说,直接上代码,基本直接按照我的结构复制就行。
有三个子模块和一个父模块
子模块有 common biz 和web
依赖关系为
biz依赖common web依赖biz 和common
下面给出每个模块的具体依赖关系
父依赖
<modelVersion>4.0.0</modelVersion> <groupId>com.xieminghui.house</groupId> <artifactId>house-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <modules> <module>house-common</module> <module>house-biz</module> <module>house-web</module> </modules> <packaging>pom</packaging> <name>house</name> <description>房产销售平台</description>
引入打包插件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
子模块web 很关键
<modelVersion>4.0.0</modelVersion> <artifactId>com.xieminghui.house.web</artifactId> <packaging>jar</packaging> <name>com.xieminghui.house.web</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- junit 测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- 如果biz 引入了 common ,那么web就只需要引入biz就可以了--> <dependency> <groupId>com.xieminghui.house</groupId> <artifactId>com.xieminghui.house.biz</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
引入springboot打包插件 和配置 因为最后我们要执行的是它
<!-- 打包部署 命令行: mvn clean package -DskipTests //跳过打包单元测试 启动 只要在该打包的zip jar包下面 下面执行 cd 到web下面target可以找到打包的jar java -jar xxx.jar 就可以开始运行了 或者后台运行的话就 nohup java -jar xxx.jar & --> <build> <plugins> <!-- springboot 打包的插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 打包的类型 --> <mainClass>com.xieminghui.house.HouseApplication</mainClass> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
子模块biz
<parent> <artifactId>house-parent</artifactId> <groupId>com.xieminghui.house</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>com.xieminghui.house.biz</artifactId> <packaging>jar</packaging> <name>com.xieminghui.house.biz</name> <url>http://maven.apache.org</url>
<dependency> <groupId>com.xieminghui.house</groupId> <artifactId>com.xieminghui.house.common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
子模块common
<parent>
<artifactId>house-parent</artifactId> <groupId>com.xieminghui.house</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>com.xieminghui.house.common</artifactId> <packaging>jar</packaging> <name>com.xieminghui.house.common</name>
<url>http://maven.apache.org</url>
至此依赖完成。
到路径目录下 运行
mvn clean package -DskipTests
-DskipTests是忽略单元测试,你也可以打包上去
生成结果如图
因为我们要的结果是在web下面,所以我们cd到web下
cd target目录
就看到我们刚刚打成功的jar了
这时候只要电脑装了java就 可以用java -jar xx.jar 运行了
就像这样
java -jar com.xieminghui.house.web-0.0.1-SNAPSHOT.jar
如果你想运行在后台,就用下面的命令, 推荐运行在后台
nohup java -jar com.xieminghui.house.web-0.0.1-SNAPSHOT.jar &
最后项目跑成功如下图,直接访问即可
很是辛苦,欢迎不懂的私信和评论哇。