maven 详情查考 maven实战 许晓斌
maven是一個構建和管理jar包工具.
管理jar:??
通過坐標來定義一個jar
示例
<project><!-- model version is always 4.0.0 for Maven 2.x POMs --><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId> <!--組織ID 一般和src/main/java和src/test/java 下面的包名稱對應--><artifactId>my-app</artifactId> <!--項目標識符 --><version>1.0</version> 版本號
<packageing>pom</packageing> 打包方式jar war pom pom為聚合文件 <dependencies> 依賴集合
<dependency> 每一個依賴
<groupId>junit</groupId> 依賴的坐標
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope> 依賴的范圍 (test,compile,provide,runtime,import) 默認compile test(測試有效 junit) provide(編譯和測試有效 servletapi) runtime(運行有效 常見 jdbc驅動) import(dependencymanagement標簽下使用導入pom文件)
<option>true<option> jar可選 這個標簽標識依賴不會傳遞 如果其它包依賴這個包,必須單獨引入
</dependency>
</dependencies>
</project>
maven的依賴選擇? ?假設? A->B->C? ? A依賴B,B依賴于C? 當我們引入A的時候,maven自動引入B和C? ? 當出現依賴沖突的時候.maven首先選擇最短的依賴路徑,如果還有沖突,maven選擇pom文件首先出現的依賴路徑
當我們發現依賴沖突的時候可以使用,或者想使用莫一個特定版本的jar 的時候? ? <exclude>標簽排除依賴,而后自己聲明所需要版本
當項目依賴引入完畢后,使用mvn dependency list 命令查看maven的完整依賴圖.優化自己的pom(也可以使用開發工具自帶的)
構建:?通過maven命令??
?maven有三個生命周期 分別是clean default? site??
clean? 清理項目
default :? 常用的有compile test package install deploy 順序執行.執行后面的會先執行前面的
site:生成文檔
maven的聚合和繼承:通過<parent>標簽可以繼承pom文件,重復引入去除
通過<modules>標簽可以聚合pom文件,幾個不同的項目可以同時構建
maven的測試:? maven會自動識別src/test/java 目錄下以Test或Test結尾的java類,進行測試.
?
轉載于:https://www.cnblogs.com/aibobs/p/9629400.html
總結
以上是生活随笔為你收集整理的maven 详情查考 maven实战 许晓斌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: egret 里面设置MovieClip的
- 下一篇: java设计模式(1)