成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

maven實戰(zhàn)第一步,eclipse創(chuàng)建hello-world項目

JouyPub / 3602人閱讀

摘要:先創(chuàng)建一個項目選擇填寫相關(guān)配置和和這三個元素定義了一個項目的基本坐標,在的世界,任何的或者都是基于這些基本的坐標區(qū)分的。編寫單元測試編譯完成后,我們要開始測試了,創(chuàng)建的項目已經(jīng)集成了的依賴了,如果沒有,可以自己手動添加后再執(zhí)行。

先創(chuàng)建一個maven項目:

選擇quikcstart:

填寫相關(guān)配置

gruop id 和 artifact id 和version這三個元素定義了一個項目的基本坐標,在Maven的世界,任何的jar,pom或者war都是基于這些基本的坐標區(qū)分的。

Group Id:定義項目組
Artifact Id:定義了當前項目組中唯一的id
Version:顧名思義,指定當前的版本

生成的maven項目和pom.xml

接下來修改一下app.java的代碼

![clipboard.png](/img/bV9ApR)

package com.will.hello_world;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( new App().sayHello() );
    }
    
    public String sayHello(){
        return "Hello Maven!";
    }
}

此時,target目錄下還是空的。

當我們右鍵項目,點擊debug as -> maven clean,控制臺會輸出以下內(nèi)容,這告訴我們,clean動作,maven會先清理輸出目錄target,即刪除該目錄。

此時,右鍵Pom.xml選擇run as->maven build


goals輸入compile,然后點擊run,控制臺此時會打出


說明maven已經(jīng)執(zhí)行了編譯任務,并且把編譯后的class文件放在了工作空間指定工作目錄后的target目錄下。

編寫單元測試

編譯完成后,我們要開始測試了,創(chuàng)建的maven項目已經(jīng)集成了junit的依賴了,如果沒有,可以自己手動添加后再執(zhí)行maven update。


  4.0.0

  com.will
  hello-world
  0.0.1-SNAPSHOT
  jar

  hello-world
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
  



上述pom代碼中還有scope屬性,如果scope屬性為test,表示該依賴只對測試有效。如果不聲明依賴,那么該依賴對主代碼和測試都有效。

有了測試依賴,就可以開始編寫測試類了,在src/test/java目錄下編寫測試類

完成測試用例后,點擊maven test,控制臺輸出以下內(nèi)容,失敗和警告都為0,說明我們的測試通過了。

打包和運行

將項目進行編譯和測試之后,下一個重要步驟就是打包了,pom中沒有指定打包的類型,使用默認的打包類型jar。
點擊maven build->goals中填寫package,點擊run,eclipse就會幫我們進行打包了。

類似的,執(zhí)行打包前,maven會自動的幫我們執(zhí)行編譯、測試等操作,可以看到,此時,我們已經(jīng)將該項目打包成了hello-world-0.0.1-SNAPSHOT.jar的Jar包了,如果有需要的話,就可以復制這個Jar文件到其他項目的classpath文件中使用這個helloworld類了。

又或者你想在本地的其他maven項目中使用這個jar文件,此時你還需要執(zhí)行一步操作,maven install,該指令會將輸出的jar包安裝到你本地的maven倉庫中,其他maven項目就可以使用了。

運行jar文件

此時,我們在jar包所在的文件夾執(zhí)行java -jar jar包名
報了如下錯誤

因為我們生成的jar包中是帶有main方法的,帶有main方法的類信息不會添加到mainfest中(可以使用解壓工具查看Jar包)

此時我們可以用maven-shade-plugin插件,在pom.xml中添加如下代碼

  
      
          
            org.apache.maven.plugins  
            maven-shade-plugin  
            2.4.1  
              
                  
                    package  
                      
                        shade  
                      
                      
                          
                              
                                com.will.hello_world.App  
                              
                          
                      
                  
              
            
      


再重新執(zhí)行maven clean和maven build 選擇package命令,在target目錄下新增了一個jar包帶有shade后綴,

此時執(zhí)行java -jar x.jar

執(zhí)行成功!

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69251.html

相關(guān)文章

  • Maven實戰(zhàn)之Quick Start

    摘要:在之前,十個項目可能有十種構(gòu)建方式,但通過,所有項目的構(gòu)建命令都是簡單一致的。有利于促進項目團隊的標準化。手工勞動往往意味著低效,意味著容易出錯。這在很大程度上消除了重復。默認情況下,該文件夾下放置了本地倉庫。學習實戰(zhàn)許曉斌著 Introduction Maven是一個異常強大的構(gòu)建工具,能夠幫我們自動化構(gòu)建過程,從清理、編譯、測試到生成報告,再到打包和部署。通過Maven,我們只需要...

    Yi_Zhi_Yu 評論0 收藏0
  • Maven 項目構(gòu)建基礎(chǔ)

    摘要:項目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代開發(fā)基礎(chǔ)系列文章,介紹了的歷史背景與多種構(gòu)建工具對比,以及的基本配置安裝與使用本文涉及的參考資料聲明在學習與實踐資料索引以及學習與資料索引。 Maven 項目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代 Java 開發(fā)基礎(chǔ)系列文章,介紹了 Maven 的歷史背景與多種構(gòu)建工具對比,以及 Maven 的基本配置安裝與使用;本文涉及的參考資料聲明在 Java 學習與實踐資料索引以及...

    2501207950 評論0 收藏0
  • 工具集核心教程 | 第二篇: IDEA入門到進階(圖文并茂)

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

    skinner 評論0 收藏0
  • Day 17: 使用 JBoss Forge 和 OpenShift 構(gòu)建部署 JAVA EE 6

    摘要:會警告該插件未簽名。以上命令告訴創(chuàng)建一個名為的項目,使用包。的工具使從部署應用非常方便。域名構(gòu)成了分配給應用的的一部分。這將為我們創(chuàng)建一個應用容器,自動配置和。同時將創(chuàng)建一個私有的倉庫并克隆到本地。 編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學習30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第 17 天的內(nèi)容。 今天的30天學習30種新技術(shù)挑戰(zhàn),我決定學習一下JBoss ...

    YacaToy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<