前言java
最近在研究java框架struts2的相關漏洞,而後就去看了官方給出的文檔。在看文檔的過程當中發現使用到了Apache Maven這個項目管理工具,我在網上搜索了一下,大多數文章都寫得不是很系統,容易產生迷惑。我就本身來根據本身的學習過程,作個記錄。一來爲了方便本身複習,二來別人若是有相似需求也能夠來看看。寫的很差的地方,還請多多提出。linux
0x00 安裝以及簡單配置apache
首先咱們從官方進行下載,下載連接以下:windows
http://maven.apache.org/download.cgi
這裏我下載的是二進制的包,解壓之後咱們來到bin目錄下,能夠看到以下的目錄結構:框架
而後咱們複製路徑,設置環境變量。而後經過版本號的打印來判斷是否安裝成功,若是輸出相似以下信息,說明安裝成功(linux下的安裝也是這個步驟,下載,解壓縮,而後設置環境變量):maven
C:\Users\10920>mvn -v Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00) Maven home: D:\maven\apache-maven-3.5.2\bin\.. Java version: 1.8.0_152, vendor: Oracle Corporation Java home: D:\program\java\jdk1.8.0_152\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
0x01 從helloworld開始構建咱們的項目工具
咱們在命令行中輸入以下,開始構建咱們本身的項目:學習
mvn archetype:generate -DgroupId=com.test.helloworld -DartifactId=helloworld -Dpackage=com.test.helloworld -Dversion=1.0-SNAPSHOT
這裏涉及到幾個關鍵的字段,咱們隨後會講到。而後archetype:generate會爲咱們列出一系列的archetype,也就是項目模型。我這裏默認爲#1107, 也就是maven-archetype-quickstart。而後選擇版本,咱們默認選擇6,(1.1的版本):測試
而後讓咱們再次肯定以前的信息:ui
回車或者輸入Y回車以後。提示項目部署完成,在家目錄helloworld目錄下, 目錄結構以下:
其中,測試代碼放在src/test目錄下,源代碼和資源文件放在src/main下。咱們能夠觀察到生成了App.java的一個文件,內容以下:
package com.test.helloworld; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } }
0x02 項目打包
咱們切換到helloworld目錄下 ,就能夠對咱們建立好的helloworld項目進行打包操做了。打包的結果根據pom.xml文件中的配置選項來決定,這裏默認將會生成jar的二進制包。
咱們執行命令, mvn package
若是沒有error比較順利,咱們的項目構建成功,輸出以下:
[INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ helloworld --- [INFO] Building jar: C:\Users\10920\helloworld\target\helloworld-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 7.798 s [INFO] Finished at: 2018-01-03T20:02:16+08:00 [INFO] Final Memory: 19M/146M [INFO] ------------------------------------------------------------------------
提示信息中說明了咱們 生成的jar包的位置,此時咱們還發現生成 了一個target的目錄。編譯後的 class 文件放在 target/classes/ 目錄下面,測試 class 文件放在 target/test-classes/ 目錄下面。
0x03 測試項目
java -cp target/helloworld-1.0-SNAPSHOT.jar com.test.helloworld.App
說明咱們的項目成功了。
本節咱們簡單學習瞭如何用Maven項目管理工具,對項目進行建立,打包。隨後咱們將會學到項目的詳細配置,依賴的安裝,項目的分發等。