亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Maven 工程實(shí)踐

paraller / 1384人閱讀

摘要:前言雖然勢(shì)頭很猛,但是依然是項(xiàng)目構(gòu)建的優(yōu)先選擇,本文簡(jiǎn)要介紹一些工程實(shí)踐多模塊如果工程比較復(fù)雜,或者預(yù)期后續(xù)會(huì)變的比較復(fù)雜,可以將工程分成多個(gè)模塊,常用的分模塊的方法,核心代碼,工具,服務(wù),前端在頂層文件中聲明工程包含的各個(gè)模塊在子模塊文件

前言

雖然 Gradle 勢(shì)頭很猛,但是 Maven 依然是 Java 項(xiàng)目構(gòu)建的優(yōu)先選擇,本文簡(jiǎn)要介紹一些 Maven 工程實(shí)踐

多模塊(multiple module)

如果工程比較復(fù)雜,或者預(yù)期后續(xù)會(huì)變的比較復(fù)雜,可以將工程分成多個(gè)模塊,常用的分模塊的方法:

core,核心代碼)

util/common,工具

service,服務(wù)

web/front,web 前端

在 root(頂層)pom 文件中聲明工程包含的各個(gè)模塊


    ...
    pom

    
        core
        service
        util
        web
    

在子模塊 pom 文件中聲明 parent pom


    ...
    
        com.aachuxing.gov.report
        ...
        1.0
    
插件

使用 Maven 離不開(kāi)各種各樣的插件,簡(jiǎn)單介紹一下常用的插件,詳細(xì)使用說(shuō)明可以參考官方文檔,或者直接 google/baidu,在聲明插件的時(shí)候推薦:

將 屬性值(jdk.version)定義在 properties 標(biāo)簽中

將 build 標(biāo)簽聲明在 root pom 中

maven-compiler-plugin

maven-compiler-plugin 可以指定 jdk 版本,推薦設(shè)置 jdk8 以上版本


    ...
    
        1.8
    

    
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        ${jdk.version}
                        ${jdk.version}
                        ${jdk.version}
                    
                
            
        
    
maven-surefire-plugin

maven-surefire-plugin 用來(lái)排除一些你不想在持續(xù)集成中運(yùn)行 test case,它們可能僅僅是你用來(lái)測(cè)試你的代碼,比如測(cè)試 dao 中 SQL 書(shū)寫(xiě)是否有問(wèn)題


    ...
    
        
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.19.1
                
                    
                        **/XXXTest.java
                    
                
            
        
    
maven-assembly-plugin

通常一個(gè) Java 工程除了 jar 包之外還有各種各樣的文件:shell 腳本,properties(屬性)文件,數(shù)據(jù)文件(json, xml),使用 maven-assembly-plugin 可以對(duì)工程打包部署做深度定制


    ...
    
        
            
                org.apache.maven.plugins
                maven-assembly-plugin
                2.6
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
                
                    
                        src/main/assembly/assembly1.xml
                        src/main/assembly/assembly2.xml
                        src/main/assembly/assembly3.xml
                    
                
            
        
    

assembly.xml 配置文件用于配置具體的打包過(guò)程,在 descriptors 標(biāo)簽中可以指定多個(gè)配置文件,實(shí)現(xiàn)一套代碼打出多個(gè) "渠道包"

下面是一個(gè) assembly.xml 文件示例:


    ${id}
    
        tar.gz
    
    false
    
        
            src/main/assembly/bin
            bin
            
                startup.sh
                shutdown.sh
            
            0755
        
        
            ${project.build.directory}/classes
            /
            
                config.properties
                log4j2.xml
            
            0644
        
    
    
        
            lib
        
    

formats,通過(guò)后綴名指定打包文件格式,tar.gz, zip, war .etc

fileSets,指定哪些文件被打到包里頭

maven-dependency-plugin

maven-dependency-plugin 用于管理依賴(lài),一個(gè)應(yīng)用場(chǎng)景是將依賴(lài)的 jar 包解開(kāi)合并到工程中


    
        
            
                maven-dependency-plugin
                
                    
                        prepare-package
                        
                            unpack
                        
                        
                            
                                
                                    com.compony.xxx
                                    yyy
                                
                            
                            ${project.build.outputDirectory}
                        
                    
                
            
        
    
總結(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/66874.html

相關(guān)文章

  • maven最佳實(shí)踐

    摘要:是一個(gè)優(yōu)秀的項(xiàng)目管理工具。目前市面上優(yōu)秀的書(shū)籍就是實(shí)戰(zhàn)。就表示將依賴(lài)的包路徑寫(xiě)入到文件中。但要注意,寫(xiě)入的只是包的名字,所以運(yùn)行的包要和包要在同一個(gè)目錄下。此外,去搜索想要的包的配置。這個(gè)時(shí)候去官網(wǎng)下載,找里面的文件配置。 maven是一個(gè)優(yōu)秀的項(xiàng)目管理工具。目前市面上優(yōu)秀的書(shū)籍就是《maven實(shí)戰(zhàn)》。依舊不能解決問(wèn)題:1.maven內(nèi)置變量Maven內(nèi)置變量說(shuō)明: ${basedi...

    honmaple 評(píng)論0 收藏0
  • SpringBoot多模塊項(xiàng)目實(shí)踐(Multi-Module)

    摘要:接下來(lái),本文將重點(diǎn)闡述在環(huán)境的多模塊構(gòu)建過(guò)程。本項(xiàng)目傳送門(mén)一創(chuàng)建聚合父工程首先使用來(lái)快速創(chuàng)建好一個(gè)工程。然后在里面聲明該父工程包含的子模塊。 序言:比起傳統(tǒng)復(fù)雜的單體工程,使用Maven的多模塊配置,可以幫助項(xiàng)目劃分模塊,鼓勵(lì)重用,防止POM變得過(guò)于龐大,方便某個(gè)模塊的構(gòu)建,而不用每次都構(gòu)建整個(gè)項(xiàng)目,并且使得針對(duì)某個(gè)模塊的特殊控制更為方便。接下來(lái),本文將重點(diǎn)闡述SpringBoot在M...

    renweihub 評(píng)論0 收藏0
  • Spring Boot 2 快速教程:WebFlux 快速入門(mén)(二)

    摘要:響應(yīng)式編程是基于異步和事件驅(qū)動(dòng)的非阻塞程序,只是垂直通過(guò)在內(nèi)啟動(dòng)少量線程擴(kuò)展,而不是水平通過(guò)集群擴(kuò)展。三特性常用的生產(chǎn)的特性如下響應(yīng)式編程模型適用性?xún)?nèi)嵌容器組件還有對(duì)日志消息測(cè)試及擴(kuò)展等支持。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 02:WebFlux 快速入門(mén)實(shí)踐 文章工程: JDK...

    gaara 評(píng)論0 收藏0
  • 工具集核心教程 | 第二篇: IDEA入門(mén)到進(jìn)階(圖文并茂)

    摘要:重度強(qiáng)迫癥患者取消大小寫(xiě)敏感,讓自動(dòng)完成更齊全。如何為當(dāng)前項(xiàng)目工程添加多個(gè)模塊啊答對(duì)著工程右鍵選擇通常選擇,如圖寫(xiě)在最后歡迎關(guān)注喜歡和點(diǎn)贊后續(xù)將推出更多的工具集教程,敬請(qǐng)期待。公眾號(hào)回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。 showImg(https://segmentfault.com/img/remote/1460000018862588); 前言:IntelliJ IDEA 如果說(shuō)Int...

    skinner 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<