maven工程搭建
1,建maven工程,設置倉庫路徑
選擇quickstart
設置包名工程名稱
?
倉庫路徑默認為.m2,自定義如下,先找到maven 的conf 目錄下的settings.xml ?打開文件搜索localRepository 修改路徑
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository ? ?----------------默認.m2路徑
-->
<localRepository>${user.home}/Documents/lxl/java/jar/Maven/repository</localRepository>
修改完會在preferences 中的local Repository顯示最新路徑,
?
?選中maven工作右鍵 更新,將jar下載到本地倉庫
?
1,依賴包的查詢
所有的依賴都是通過坐標來進行存儲(GAV --groupid artifactid version)
有一些網上倉庫提供了坐標的查詢
mvnrepository.com,www.sonatype.org/nexus
gav寫入pom.xml ?先查本地庫,沒有再向網絡下載
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
?
也可以直接在pom.xml中搜索是否本地庫有jar
pom.xml 選中dependencies -- add--彈框中輸入你要的jar名稱 如hibernate
?
修改maven的中央工廠,在maven-model-builer.jar里面?
目錄:org.apache/maven/model ?文件:pom-xxx.xml 配置了一個central
在自己的應用外面也配置一個central,url指向另外一個倉庫即可
?
https://nexus.sourcesense.com/nexus/contnet/repositories/public/
?<pluginRepositories>
? ? <pluginRepository>
? ? ? <id>central</id>
? ? ? <name>Central Repository</name>
? ? ? <url>https://nexus.sourcesense.com/nexus/contnet/repositories/public/</url>
? ? ? <!--? <url>https://repo.maven.apache.org/maven2</url>-->
? ? ? <layout>default</layout>
? ? ? <snapshots>
? ? ? ? <enabled>false</enabled>
? ? ? </snapshots>
? ? ? <releases>
? ? ? ? <updatePolicy>never</updatePolicy>
? ? ? </releases>
? ? </pluginRepository>
? </pluginRepositories>
?
依賴 scope,依賴的傳遞性,A->C B->A ?==>B->C
基于scope依賴范圍,默認compile 編譯范圍,編譯打包都會用
test 測試范圍 編譯打包不用,不會傳遞
provided 編譯測試引用 ?發布不用 如servlet的jar ?在tomcat 中帶有這些 如果打包在帶上會沖突
runtime 運行時依賴編譯不依賴
import?
?
傳遞引用的沖突問題
1,a->b1.0 c->b1.1 d->a/c 這時在d的pom中,哪個依賴先寫就使用先寫的版本 所以d->1.0
? ?2, a->b1.0?c->b1.1 d->a/c f->d,c 如果路徑長短不一致就選擇最小路徑的 所以f->b1.1
如果希望精確的控制依賴,可以使用依賴的排除功能
?
?
? ??<dependency>
? ? <groupId>org.konghao.user</groupId>
? ? <artifactId>user-log</artifactId>
? ? <version>0.0.1-SNAPSHOT</version>
? ? <exclusions>
? ? <exclusion>
? ? <groupId>log4j</groupId>
? ? <artifactId>log4j</artifactId>
? ? </exclusion>
? ? </exclusions>
? ? </dependency>
?
?
?
轉載于:https://www.cnblogs.com/jiaozi-li/p/6792037.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: JS 之 数据类型转换
- 下一篇: [HDOJ4588]Count The