前言:對於微軟技術死忠的筆者來講,學習JAVA靈活又複雜的技術是件多麼痛苦的事,開始想念我大微軟簡單的開發環境搭建以及完整詳盡的開發文檔,還有那一看就懂的案例教程了...
但是爲了工做,依舊不得不繼續潛心鑽研JAVA技術,好在我同事xunhua是技術大神,筆者在其幫主下避過了很多彎路,筆者決定記錄一系列在JAVA技術學習上遇到的問題,以備往後複用html
先介紹下Maven:
Maven是一個採用純Java編寫的開 源項目管理工具。Maven採用了一種被稱之爲project object model (POM)概念來管理項目,全部的項目配置信息都被定義在一個叫作POM.xml的文件中,經過該文件,Maven能夠管理項目的整個聲明週期,包括編 譯,構建,測試,發佈,報告等等。目前Apache下絕大多數項目都已經採用Maven進行管理。而Maven自己還支持多種插件,能夠方便更靈活的控制項目。
擴充:與Maven差很少齊名的之前還有個Anti,但Anti日漸勢衰,如今大部分都開始轉向Maven。
吐槽:不得不感嘆一句,學JAVA是多麼受虐的一件事,技術更新換代的速度太快,以致於須要不斷不斷地學習新的技術(幾乎每半年冒出個很火的)。這是也當初筆者初學編程時選擇微軟體系的重要緣由之一,.NET的技術更新雖然是每一年1至2年一大更,但運用到實際到生產環節並不建議一直追着最新技術,保持一個版本的技術代溝,能夠保證本身少踩一些坑,固然若是精力旺盛又想當大神的,能夠一直追着技術潮流的第一浪不斷學習...java
步驟概覽:
下載->配置環境->使用命令行建立工程->導入eclipseweb
1.下載apache
地址:http://maven.apache.org/download.html
筆者寫做時使用的是:Apache Maven 3.3.9 下載完畢後將文件解壓出來,能夠看到如下文件
(記住你解壓的路徑地址下一個步驟須要)
2.配置環境編程
->!:配置Maven環境前須要安裝JDK及配置JDK環境 JDK傳送門:http://www.cnblogs.com/tiankong101/p/4226559.html (廢話比較多) ->配置Maven環境 新增如下Windows**系統環境變量** 變量名:MAVEN_HOME 變量值: D:\apache-maven-3.3.9 (maven解壓出來的路徑) 變量名:MAVEN 變量值: %MAVEN_HOME%\bin 變量名:MAVEN_OPTS 變量值: -Xms256m -Xmx1024m //(可選)該參數用於配置MAVEN可以使用的內存 //Xms爲容許最小內存,Xmx爲容許最大內存 //當使用MAVEN編譯發生內存溢出錯誤時即須要提升此參數Xmx數值 ->在 path 變量最後加上 %MAVEN%; ->測試配置 Win+R打開cmd命令工具,輸入 ->$mvn -version 可查看到如下輸出即表示配置成功
(以上爲借的圖)
3.使用命令行建立工程windows
除了命令行建立工程以外還可使用eclipse插件來建立項目,大神同事說搭建插件環境太複雜,使用cmd命令來建立較爲簡單,嘗試了一下沒成功也就放棄了,感興趣的同窗能夠深刻,但我的以爲cmd更爲直觀,前提是會cmd簡單命令 ->使用轉到你想要將工程存放的文件路徑 擴充: $cd 爲轉到命令,從一個盤的路徑切到另外一個盤的路徑前,須要先切換盤符 好比C:\Documents and Settings要切換到D:\Programe Files 須要要->$D: 而後再->$cd D:\Programe Files !:使用連續兩次tab鍵能夠自動補足文件或文件夾全名 切換好路徑後使用 ->$mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false //該命令用於建立web項目 //{project-packaging}爲打包名,筆者使用com.calx //{project-name}爲項目名,筆者使用maven-test 或使用 ->$mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false //該命令用於建立QickStart項目 !:參考資料:(http://trinea.iteye.com/blog/1290898) 擴充:讓maven下載其餘依賴時使用代理 若是沒有建立C:\Users\xxx\.m2文件夾則須要自行建立,xxx爲你的windows用戶名 在.m2文件夾下建立settings.xml文件 填入一下內容 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <proxies> <proxy> <id>MyProxy</id/> //代理名 <active>true</active> //是否激活 <protocol>http</protocol> //代理協議 <host>xxx.xxx.xxx.xxx</host> //代理IP地址 <port>xxxx</port> //代理端口 <username></username> //代理登陸賬號 <password></password> //代理登陸密碼 <nonProxyHosts>localost|</nonProxyHosts> </proxy> </proxies> </settings>
4.導入eclipseapp
在Package Explorer中郵件找到Import
在彈出的窗口內找到Maven->Existing Maven Projects
選擇路徑後點finish按鈕便可完成
(以上爲web項目截圖)
5.經常使用命令
mvn clean 清除目標目錄中的生成結果
mvn compile 編譯源代碼
mvn test-compile 編譯測試代碼
mvn test 運行應用程序中的單元測試
mvn package 依據項目生成 jar 文件
mvn install 在本地 Repository 中安裝 jareclipse
如以前文中提到的,maven能夠幫你管理項目的整個生命週期,以上命令則對應了發佈前你所
但願操做的週期,因爲筆者沒有深刻了解過執行順序,僅從install命令中能夠簡單看出,
maven的默認發佈順序大概爲clean->compile->test->package,因此通常使用install便可webapp
----------!maven
找到一篇較爲詳盡的教程
http://www.cnblogs.com/leiOOl...
----------!
如下爲筆者遇到的問題
1.settings.xml的設置
.m2文件夾下的配置爲當前用戶配置,因此存放於xxx\\.m2文件夾下的settings.xml只對該xxx用戶生效 能夠手動編輯配置settings.xml(複製解壓出來後的conf文件裏的settings.xml模板自行修改) 也能夠經過eclipse進行配置,eclipse配參考**詳盡的教程**
2.不能建立src/main/java文件夾
提示爲文件夾已存在(The folder is already a source folder.) 解決辦法爲在左側列表中,src文件夾下main文件夾下建立java文件夾便可 建立完以後java文件夾在左側列表中不可見,但會跑到上面以Source Folder形勢出現 多半是Eclipse的bug吧