久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在linux環(huán)境下安裝,、配置、使用Maven

 liang1234_ 2015-12-24

apache Maven,,是一個(gè)軟件(特別是Java軟件)項(xiàng)目管理及自動(dòng)構(gòu)建工具,,由Apache軟件基金會(huì)所提供?;陧?xiàng)目對(duì)象模型(POM)概念,,Maven利用一個(gè)中央信息片斷能管理一個(gè)項(xiàng)目的構(gòu)建、報(bào)告和文檔等步驟,。曾是Jakarta項(xiàng)目的子項(xiàng)目,,現(xiàn)為獨(dú)立Apache項(xiàng)目。

現(xiàn)在有很多Apache項(xiàng)目都已經(jīng)開始采用Maven進(jìn)行管理,。

本篇文章簡(jiǎn)單介紹了Maven的相關(guān)知識(shí),,以及在Linux下的安裝與使用方法。如果需要進(jìn)一步了解Maven,,請(qǐng)移步Maven官網(wǎng),。 http://maven.

安裝Maven

Maven的下載地址: http://maven./download.cgi

這里以最新的3.2.3版本為例進(jìn)行安裝,在這之前需要確保機(jī)器上已經(jīng)安裝了JDK,。

首先下載Maven并解壓,,并移動(dòng)到usr/local目錄下

$ wget http: / /mirror.bit.edu.cn/apache /maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
$ tar vxf apache-maven-3.2.3-bin.tar.gz
$ mv apache-maven-3.2.3 /usr/local/maven3

修改環(huán)境變量,在/etc/profile中添加以下幾行

MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

記得執(zhí)行 source /etc/profile 使環(huán)境變量生效,。

最后運(yùn)行 mvn -v 驗(yàn)證maven是否安裝成功,,如果安裝成功會(huì)打印如下內(nèi)容

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4;2014-08-12T04:58:10+08:00)
Maven home: /usr/local/maven3
Java version: 1.7.0_65, vendor:Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-35-generic", arch: "amd64",family: "unix"

使用Maven創(chuàng)建項(xiàng)目

無(wú)論是學(xué)習(xí)語(yǔ)言還是框架,先來一個(gè)Hello World基本上已經(jīng)是套路了,,我們也通過構(gòu)建一個(gè)HelloWorld項(xiàng)目來了解如何使用Maven,。首先通過maven創(chuàng)建helloworld項(xiàng)目

$ mvn archetype:create -DgroupId= helloworld -DartifactId=helloworld

生成的項(xiàng)目目錄如下,,其中src/main/java是源碼目錄,src/test/java是測(cè)試文件目錄,。一共只有三個(gè)文件,,打開這三個(gè)文件,可以看到App.java中已經(jīng)寫好了一個(gè)HelloWorld程序,,而AppTest中是Junit單元測(cè)試的代碼,,至于pom.xml,則給出了項(xiàng)目的一些基本信息以及依賴關(guān)系,。

helloworld/
├── pom.xml
└── src
├── main
  └── java
  └── helloworld
  └── App.java
└── test
└── java
└── helloworld
└── AppTest.java

這里主要看一下pom.xml文件,,內(nèi)容如下

<project xmlns = "http://maven./POM/4.0.0"xmlns:xsi = "http://www./2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven./POM/4.0.0http://maven./xsd/maven-4.0.0.xsd">
<modelVersion> 4.0.0 </modelVersion>
<groupId> helloworld </groupId>
<artifactId> helloworld </artifactId>
<version> 1.0-SNAPSHOT </version>
<packaging> jar </packaging>
<name> helloworld </name>
<url> http://maven. </url>
<properties>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId> junit </groupId>
<artifactId> junit </artifactId>
<version> 3.8.1 </version>
<scope> test </scope>
</dependency>
</dependencies>
</project>

在pom.xml文件中,首先描述了項(xiàng)目的定義,,groupId:artifactId:packaging:version這個(gè)四元組能夠唯一標(biāo)記一個(gè)項(xiàng)目,。我們不僅可以用這個(gè)四元組來標(biāo)記我們的項(xiàng)目,也可以用來標(biāo)記其它的項(xiàng)目,,比如用來描述項(xiàng)目依賴關(guān)系,。perperties中定義了項(xiàng)目的屬性,也可以在這里定義變量并在其它的地方引用,。至于最后的dependencies,,則是描述了項(xiàng)目的依賴關(guān)系,Maven會(huì)根據(jù)依賴關(guān)系自動(dòng)下載相應(yīng)的文件并在編譯時(shí)使用,。

在大型項(xiàng)目開發(fā)中,,往往會(huì)將其分成若干個(gè)子項(xiàng)目,每個(gè)子項(xiàng)目都有著自己的的pom.xml,,它們與父pom.xml之間相當(dāng)于繼承的關(guān)系,。

可以說,pom.xml文件的配置是整個(gè)Maven的核心重點(diǎn),,也是學(xué)習(xí)Maven過程中需要詳細(xì)了解的內(nèi)容,。這里只給出了最簡(jiǎn)單的配置樣例,詳細(xì)了解可以查看官方文檔,。

接下來編譯并運(yùn)行Helloworld項(xiàng)目,。

如果是第一次編譯的話,需要聯(lián)網(wǎng),,因?yàn)镸aven會(huì)自動(dòng)下載依賴包,。

$ mvn package

下載的依賴包會(huì)保存在~/.m2/repository文件夾中,打開這個(gè)文件夾,,我們會(huì)發(fā)現(xiàn)里面的包正是按前面所說的四元組目錄結(jié)構(gòu)進(jìn)行存儲(chǔ)的,。Maven在依賴一個(gè)jar包時(shí)會(huì)先去本地庫(kù)查找,如果沒找到就會(huì)從網(wǎng)上下載。當(dāng)然,,并不是所有的包都能從網(wǎng)上下載到,比如我們自己開發(fā)的jar包,,這時(shí),,我們就可以用 mvn install 命令將一個(gè)項(xiàng)目安裝到本地倉(cāng)庫(kù)。 打包成功后我們會(huì)發(fā)現(xiàn)項(xiàng)目中多了一個(gè)target文件夾,,目錄結(jié)構(gòu)如下

target/
├── classes
  └── helloworld
  └── App.class
├── helloworld-1.0-SNAPSHOT.jar
├── maven-archiver
  └── pom.properties
├── maven-status
  └── maven-compiler-plugin
  ├── compile
    └── default-compile
    ├── createdFiles.lst
    └── inputFiles.lst
  └── testCompile
  └── default-testCompile
  ├── createdFiles.lst
  └── inputFiles.lst
├── surefire-reports
  ├── helloworld.AppTest.txt
  └── TEST-helloworld.AppTest.xml
└── test-classes
└── helloworld
└── AppTest.class

可以看到,,在package過程中,maven完成了編譯,、測(cè)試代碼,,生成測(cè)試報(bào)告,生成jar包等一系列工作,。

最后,,我們也可以手動(dòng)運(yùn)行jar包查看結(jié)果。

$ java - cp target/helloworld- 1.0 -SNAPSHOT.jar helloworld.App
Hello World!

Maven常用命令

Maven的命令非常多,,學(xué)習(xí)命令首先要了解Maven的生命周期,。

Maven首先會(huì)驗(yàn)證并處理引用資源,之后進(jìn)行項(xiàng)目編譯,,如果沒有聲明跳過測(cè)試,,也會(huì)編譯測(cè)試代碼并進(jìn)行測(cè)試、以成測(cè)試報(bào)告,。最后,,Maven會(huì)將編譯好的內(nèi)容進(jìn)行打包,用于發(fā)布,。 Maven命令與Maven的生命周期有著對(duì)應(yīng)的關(guān)系,,一個(gè)命令也經(jīng)常會(huì)包含多個(gè)生命周期,比如 mvnpackage 會(huì)完成以上所有步驟,。

這里列舉幾個(gè)常用的命令

  • mvn compile 編譯項(xiàng)目
  • mvn test 編譯運(yùn)行單元測(cè)試
  • mvn package 打包(jar or war)
  • mvn install 將項(xiàng)目安裝到本地倉(cāng)庫(kù)
  • mvn clean 清空項(xiàng)目
  • mvn eclipse:eclipse 生成eclipse工程

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多