1. 程式人生 > >講一下springboot多模組的構建和部署

講一下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 &

最後專案跑成功如下圖,直接訪問即可


很是辛苦,歡迎不懂的私信和評論哇。