真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

maven的exec-maven-plugin插件怎么使用

這篇文章主要講解了“maven的exec-maven-plugin插件怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“maven的exec-maven-plugin插件怎么使用”吧!

公司主營業(yè)務(wù):網(wǎng)站制作、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出懷來免費(fèi)做網(wǎng)站回饋大家。

簡介

maven的exec-maven-plugin插件主要是用來執(zhí)行可執(zhí)行jar包命令的插件,很多工具提供命令行式的交互,例如mybatis-generator,每一次運(yùn)行都會(huì)敲很長的命令,很麻煩。

還有的時(shí)候,你希望提供一個(gè)3方包給比人使用,為了讓別人能夠通過非常簡單的命令就可以運(yùn)行程序,就可以使用exec-maven-plugin插件。

當(dāng)然也可以是腳本的方式來實(shí)現(xiàn),但是腳本的通用性不是很好,你要提供run.bat,run.sh等腳本。通過exec-maven-plugin就可以避免這樣的問題。

exec-maven-plugin插件有2個(gè)目錄(goal),一個(gè)是java一個(gè)是exec。這里簡單解釋一下maven的goal,可以把maven的goal看做是一個(gè)特定的功能,一個(gè)maven插件可能有很多功能,一個(gè)功能就是一個(gè)goal,maven還有生命周期的概念,maven有3套生命周期,分別是clean,default,site。每一個(gè)生命周期有包含一下階段(phase),可以把每一個(gè)階段看做一個(gè)流程。參加后面的maven生命周期。例如執(zhí)行下面的2個(gè)命令:

mvn clean package
mvn clean test

上面的2個(gè)命令都包含了2個(gè)生命周期,clean和default生命周期。clean會(huì)執(zhí)行clean生命周期的pre-clean和clean階段,mvn clean package命令會(huì)從default生命周期會(huì)從validate執(zhí)行到package階段,mvn clean test命令會(huì)從default生命周期的validate階段執(zhí)行到package階段。

插件就是把goal綁定到生命指定階段的上執(zhí)行的。就是maven在執(zhí)行相應(yīng)階段的時(shí)候會(huì)檢查有那些插件的goal綁定到這個(gè)階段上的,然后執(zhí)行這些goal。

如果對這些知識有疑惑,強(qiáng)烈建議閱讀《maven實(shí)戰(zhàn)》。

實(shí)例

java 目標(biāo)

public class App 
{
    public static void main( String[] args )
    {
        for(String arg : args){
            System.out.println(arg);
        }
    }
}

上面的代碼非常簡單,打印main方法參數(shù)。


    4.0.0

    cn.freemethod
    plugin
    0.0.1-SNAPSHOT
    jar

    plugin
    http://maven.apache.org

    
        UTF-8
        1.2.1
    

    
        
            junit
            junit
            4.9
            test
        
    

    
        
        
            
                org.codehaus.mojo
                exec-maven-plugin
                ${exec_maven_plugin_version}
                
                    
                        test
                        
                            java
                        
                        
                            cn.freemethod.plugin.App
                            
                                arg0
                                arg1
                            
                        
                    
                
            
        
    

看上面的配置,我們把exec-maven-plugin 插件的java模板(goal)綁定到了default生命周期的test階段上。所以我們只需要執(zhí)行下面的命令就可以了:

mvn test

exec目標(biāo)

import java.util.ArrayList;
import java.util.List;

public class Exec {
    
    public static void main(String[] args) {
        System.out.println(System.getProperty("systemProperty1"));
        System.out.println(System.getProperty("systemProperty2"));
        for(String arg:args){
            System.out.println(arg);
        }
        testGcTypeLog();
    }
    
    public static void testGcTypeLog(){
        List list = new ArrayList();
        while (true) {
            byte[] m = costMemory(1024*1024*10);
            list.add(m);
            if(list.size()==90){
                list.clear();
            }
        }
    }
    
    public static byte[] costMemory(int i) {
        byte[] m = new byte[i];
        return m;
    }

}

上面的例子就是打印指定的系統(tǒng)參數(shù)和不斷申請內(nèi)存然后釋放內(nèi)存,最要是為了觀察打印日志。


    4.0.0

    cn.freemethod
    plugin
    0.0.1-SNAPSHOT
    jar

    plugin
    http://maven.apache.org

    
        UTF-8
        1.2.1
    

    
        
            junit
            junit
            4.9
            test
        
    

    
        
        
            
                org.codehaus.mojo
                exec-maven-plugin
                ${exec_maven_plugin_version}
                
                    
                        test
                        
                            exec
                        
                
                    java
                    
                        -DsystemProperty1=value1
                        -DsystemProperty2=value2
                        -XX:+PrintGCDetails
                        -classpath
                        
                        cn.freemethod.plugin.Exec
                        arg1
                        arg2
                    
                
                
                
            
        
    

上面的配置我們也是把exec-maven-plugin插件的exec目標(biāo)(goal)綁定到了default生命周期的test階段上,我們配置了-DsystemProperty1=value1設(shè)置系統(tǒng)參數(shù),配置-XX:+PrintGCDetails設(shè)置jvm參數(shù)。

還是可以通過下面的命令來執(zhí)行:

mvn test

maven的exec-maven-plugin插件怎么使用

從上圖可以看到打印了我們設(shè)置的系統(tǒng)參數(shù),命令參數(shù)和gc日志。

當(dāng)然也可以不綁定生命周期,可以像下面這樣配置:


    org.codehaus.mojo
    exec-maven-plugin
    ${exec_maven_plugin_version}
    
        java
        
            -DsystemProperty1=value1
            -DsystemProperty2=value2
            -XX:+PrintGCDetails
            -classpath
            
            cn.freemethod.plugin.Exec
            arg1
            arg2
        
    

如果像上面這樣配置就需要先打包,然后執(zhí)行exec:

mvn clean package
mvn exec:exec

maven生命周期

clean聲明周期:(3 phase(階段))

  1. pre-clean

  2. clean:清理上一次構(gòu)建生成的文件

  3. post-clean

default聲明周期:(23 phase)

  1. validate

  2. initialize

  3. generate-sources

  4. process-sources:處理項(xiàng)目主資源文件,拷貝src/main/resources 到classpath

  5. generate-resources

  6. process-resources

  7. compile:編譯src/main/java代碼輸出到classpath

  8. process-classes

  9. generate-test-sources

  10. process-test-sources:對src/test/resource目錄進(jìn)行變量替換,拷貝到test的classpath

  11. generate-test-resources

  12. process-test-resources

  13. test-compile

  14. process-test-classes

  15. test

  16. prepare-package

  17. package

  18. pre-integration-test

  19. integeration-test

  20. post-integration-test

  21. verify

  22. install:安裝到本地倉庫

  23. deploy

site生命周期:(4 phase)

  1. pre-site

  2. site

  3. post-site

  4. site-deploy

感謝各位的閱讀,以上就是“maven的exec-maven-plugin插件怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對maven的exec-maven-plugin插件怎么使用這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


本文題目:maven的exec-maven-plugin插件怎么使用
分享URL:http://weahome.cn/article/jpjjji.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部