中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java基于maven多模塊合并打包部署的方法是什么

發布時間:2023-02-24 10:09:07 來源:億速云 閱讀:85 作者:iii 欄目:開發技術

這篇文章主要介紹“java基于maven多模塊合并打包部署的方法是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java基于maven多模塊合并打包部署的方法是什么”文章能幫助大家解決問題。

項目環境

  • jdk 1.8

  • spring 2.7.x

  • maven 3.6

項目結構

java基于maven多模塊合并打包部署的方法是什么

模塊功能

client – 對外service
common – 共用工具切面等
main – 啟動類
goods – 子模塊具體實現

模塊間依賴關系

client – 無依賴
common – 無依賴
main – client、common、goods
goods – client、common

具體POM配置

頂級pom

引入需要被使用的所有項目子模塊,并統一制定版本號

    <groupId>org.ct</groupId>
    <artifactId>gp-data-analysis</artifactId>
    <packaging>pom</packaging>
    <version>${gp-data.version}</version>
    <modules>
        <module>gp-data-client</module>
        <module>gp-data-common</module>
        <module>gp-futrue-goods</module>
        <module>gp-data-main</module>
    </modules>
    
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <gp-data.version>1.0.0</gp-data.version>
    </properties>

	<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.ct</groupId>
                <artifactId>gp-data-analysis</artifactId>
                <version>${gp-data.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ct</groupId>
                <artifactId>gp-data-main</artifactId>
                <version>${gp-data.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ct</groupId>
                <artifactId>gp-data-common</artifactId>
                <version>${gp-data.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ct</groupId>
                <artifactId>gp-data-client</artifactId>
                <version>${gp-data.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ct</groupId>
                <artifactId>gp-data-futrue</artifactId>
                <version>${gp-data.version}</version>
            </dependency>
         </dependencies>
    </dependencyManagement>

	<build>
		<!-- 引入maven打包工具 -->
        <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>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

client、common、goods類似

	<!-- 指定父pom版本 -->
    <parent>
        <artifactId>gp-data-analysis</artifactId>
        <groupId>org.ct</groupId>
        <version>${gp-data.version}</version>
    </parent>

main 設置打包入口,掃描的xml配置項等
&emsp; &emsp; main 中dependency中引入順序需要注意,需要保證,未被依賴的在前,被依賴的子模塊在后。因為此處的順序決定了maven install的順序

    <parent>
        <artifactId>gp-data-analysis</artifactId>
        <groupId>org.ct</groupId>
        <version>${gp-data.version}</version>
    </parent>
     <dependencies>
        <dependency>
            <groupId>org.ct</groupId>
            <artifactId>gp-data-common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.ct</groupId>
            <artifactId>gp-data-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.ct</groupId>
            <artifactId>gp-data-futrue</artifactId>
        </dependency>
    </dependencies>

	 <build>
        <plugins>
            <!--打包插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.3</version>
                <executions>
                    <execution>
                        <goals>
                            <!-- 整合打jar包 -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--支持靜態文件熱部署-->
                    <addResources>true</addResources>
                    <!-- 指定該Main Class為全局的唯一入口 -->
                    <mainClass>org.ct.gp.GpDataBootApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>

        <!--打包規則,打包時將resources文件夾打包進去-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>

            <!--保證mapper文件夾中的.xml文件可以被編譯-->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

使用maven打包root目錄

java基于maven多模塊合并打包部署的方法是什么

生成的main jar,及包含了所有模塊

java基于maven多模塊合并打包部署的方法是什么

關于“java基于maven多模塊合并打包部署的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

馆陶县| 炎陵县| 天门市| 灵石县| 乳山市| 苏尼特右旗| 深州市| 运城市| 永胜县| 松阳县| 白沙| 宣汉县| 菏泽市| 凤庆县| 尉氏县| 布拖县| 高邮市| 甘谷县| 建湖县| 安岳县| 健康| 太湖县| 开阳县| 长子县| 南安市| 佳木斯市| 汝城县| 炎陵县| 长宁县| 麻江县| 泸溪县| 仁化县| 高州市| 清流县| 准格尔旗| 莎车县| 聂拉木县| 巴南区| 昆山市| 玛多县| 湘潭市|