咱們還是老規矩,先上一波福利,如圖:
maven是一個Java語言編寫的開源項目管理工具,是Apache軟件基金會的頂級項目。主要用于項目構建,依賴管理,項目信息管理。
對于程序猿來講,maven再熟悉不過了,關于maven的文章也很多,但是都沒有抓住重點,那么你有福利了,來聽我將maven的故事,保準你一聽就懂,一看就會,在學習maven的道路上暢通無阻。
你可以把maven當做一個超市,超市里有柴米油鹽醬醋茶等等很多材料,你需要哪個材料只需要通過一定的手段拿即可。對于剛入門的程序猿來講,他(她)會認為是這樣的:1、maven就是將jar包存放到maven本地倉庫,本地倉庫文件夾下的.m2文件夾下。2、pom.xml配置jar在maven本地倉庫的坐標后jar會上傳到中央倉庫。這樣理解也對,但不夠深入。
”小朋友,你是不是 ?有很多問號?“本次是教大家入門,想深入了解maven,敬請等待下次分享。
一、maven的有優點與弊端
優缺點是我從網上摘抄的,沒毛病。
優點如下:
1、簡化了項目依賴管理。
2、易于上手,對于新手可能一個"mvn clean package"命令就可能滿足他的工作。
3、便于與持續集成工具(jenkins)整合。
4、便于項目升級,無論是項目本身升級還是項目使用的依賴升級。
5、有助于多模塊項目的開發,一個模塊開發好后,發布到倉庫,依賴該模塊時可以直接從倉庫更新,而不用自己去編譯。
6、maven有很多插件,便于功能擴展,比如生產站點,自動發布版本等
缺點如下:
1、maven是一個龐大的構建系統,學習難度大
2、maven采用約定優于配置的策略(convention over configuration),雖然上手容易,但是一旦出了問題,難于調試。
3、當依賴很多時,m2eclipse 老是搞得Eclipse很卡。
4、中國的網絡環境差,很多repository無法訪問,比如google code, jboss 倉庫無法訪問等。
二、使用maven好處
1、 maven不僅是構建工具,它還是依賴管理工具和項目管理工具,提供了中央倉庫(也可以是私有倉庫),能夠幫我們自動下載構件。
2、為了解決的依賴的增多,版本不一致,版本沖突,依賴臃腫等問題,它通過一個坐標系統來精確地定位每一個構件(artifact)。
3、還能幫助我們分散在各個角落的項目信息,包括項目描述,開發者列表,版本控制系統,許可證,缺陷管理系統地址。
4、maven還為全世界的Java開發者提供了一個免費的中央倉庫,在其中幾乎可以找到任何的流行開源軟件。通過衍生工具(Nexus),我們還能對其進行快速搜索。
5、maven對于目錄結構有要求,約定優于配置,項目間切換省學習成本。
三、教你快速入門
1、下載maven組件(最新版本:3.6.3)
地址:http://maven.apache.org/download.cgi
2、配置環境變量
網上有很多此類文章,在這里就不再過多講解。推薦:https://www.cnblogs.com/chuhongyun/p/11419014.html
大多數jar包來自國外 使用maven默認配置下載很費勁,這個時候可以在maven的配置文件(maven/config/setting.xml)里面加入以下代碼(阿里云鏡像),重新下載jar包,速度很快。
3、Idea配置maven
自動下載
4、項目中使用maven
5、查看是否從倉庫下載
四、踩坑記錄
1、引入pom.xml文件中的依賴性能比較卡、慢
將setting文件中的鏡像倉庫地址改成阿里的鏡像倉庫,具體操作自行google
2、使用阿里鏡像倉庫訪問https問題
因為沒有安全證書,所以需要忽略證書,只需要設置一下即可,如下:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
五、maven常用的命令
1、創建maven普通項目
mvn archetype:create?-DgroupId=packageName?-DartifactId=projectName
2、創建Maven的Web項目
mvn archetype:create -DgroupId=packageName
????-DartifactId=webappName
????-DarchetypeArtifactId=maven-archetype-webapp
3、編譯源代碼
mvn compile
4、編譯測試代碼
mvn test-compile
5、編譯測試代碼
mvn test
6、打包
mvn package
7、清除產生的項目
mvn clean
8、生成eclipse、idea項目
mvn eclipse:eclipse
mvn idea:idea
9、查看當前項目已被解析的依賴
mvn dependency:list
10、上傳到私服
mvn deploy
11、強制檢查更新,由于快照版本的更新策略(一天更新幾次、隔段時間更新一次)存在,如果想強制更新就會用到此命令
mvn clean install-U
12、源碼打包
mvn source:jar
13、發布第三方Jar到本地庫中
mvn install:install-file -DgroupId=xxx.xx.xxxx?-DartifactId=xxx?-Dversion=0.0.1?-Dpackaging=jar -Dfile=路徑/xxx-0.0.1.jar
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态