国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

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

apache Maven,是一個(gè)軟件(特別是Java軟件)項(xiàng)目管理及自動構(gòu)建工具,由Apache軟件基金會所提供?;陧?xiàng)目對象模型(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)行管理。

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

安裝Maven

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

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

首先下載Maven并解壓,并移動到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/maven3export MAVEN_HOMEexport PATH=${PATH}:${MAVEN_HOME}/bin

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

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

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

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

無論是學(xué)習(xí)語言還是框架,先來一個(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是測試文件目錄。一共只有三個(gè)文件,打開這三個(gè)文件,可以看到App.java中已經(jīng)寫好了一個(gè)HelloWorld程序,而AppTest中是Junit單元測試的代碼,至于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.apache.org/POM/4.0.0"xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0http://maven.apache.org/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.apache.org </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會根據(jù)依賴關(guān)系自動下載相應(yīng)的文件并在編譯時(shí)使用。

在大型項(xiàng)目開發(fā)中,往往會將其分成若干個(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)容。這里只給出了最簡單的配置樣例,詳細(xì)了解可以查看官方文檔。

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

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

$ mvn package

下載的依賴包會保存在~/.m2/repository文件夾中,打開這個(gè)文件夾,我們會發(fā)現(xiàn)里面的包正是按前面所說的四元組目錄結(jié)構(gòu)進(jìn)行存儲的。Maven在依賴一個(gè)jar包時(shí)會先去本地庫查找,如果沒找到就會從網(wǎng)上下載。當(dāng)然,并不是所有的包都能從網(wǎng)上下載到,比如我們自己開發(fā)的jar包,這時(shí),我們就可以用 mvn install 命令將一個(gè)項(xiàng)目安裝到本地倉庫。 打包成功后我們會發(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完成了編譯、測試代碼,生成測試報(bào)告,生成jar包等一系列工作。

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

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

Maven常用命令

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

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

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

  • mvn compile 編譯項(xiàng)目
  • mvn test 編譯運(yùn)行單元測試
  • mvn package 打包(jar or war)
  • mvn install 將項(xiàng)目安裝到本地倉庫
  • mvn clean 清空項(xiàng)目
  • mvn eclipse:eclipse 生成eclipse工程
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
eclipse使用maven教程
Apache Maven 入門篇(下)
maven常用命令介紹
maven2 (二) SCM
用Maven做項(xiàng)目管理
Maven編譯代碼的相關(guān)命令
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服