[maven] 使用问题及思考汇总
?
?
(1)Maven坐標
maven坐標可以唯一標識一個項目,包含四個元素 groupId , artifactId, packaging, version。
groupId:一般為團體,公司,項目。如 oceanic-web, oceanic-dal, oceanic-biz 同屬一個 groupId。 artifactId:在 groupId 下的表示一個單獨項目的唯一標識符。項目名稱ID/模塊名稱 。 packaging:標識項目的類型,如 jar,war,pom 等。 version:版本號。
例子:
oceanic -web的坐標定義如下: groupId: com.oceanic.framework artifactId:oceanic-web packaging: war version:0.0.1-SNAPSHOToceanic -dal的坐標定義如下: groupId: com.oceanic.framework artifactId:oceanic-dal packaging: jar version:0.0.1-SNAPSHOToceanic -biz的坐標定義如下: groupId: com.oceanic.framework artifactId:oceanic-biz packaging: jar version:0.0.1-SNAPSHOT
?
(2)下載的依賴jar包的存放路徑
/groupId/artifactId/version/artifactId-version.packaging
?
(3)在eclipse里配置指向的settings文件
preference -> Maven -> User Settings -> 選擇待導入的settings文件 ->Apply
?
(4)解決“Dynamic Web Module 3.0 requires Java 1.6 or newer.”錯誤
設置Java Compiler為1.7,同時在項目的pom.xml的<build></build>標簽中加入:
<plugins>?
??? <plugin>?
??????? <groupId>org.apache.maven.plugins</groupId>?
??????? <artifactId>maven-compiler-plugin</artifactId>?
??????? <version>2.3.2</version>?
??????? <configuration>?
??????????? <source>1.7</source>?
??????????? <target>1.7</target>?
??????? </configuration>?
??? </plugin>?
</plugins>
?
(5)全部配置和自定義配置
Maven安裝目錄的conf子目錄下面的settings.xml是全局配置。
用戶家目錄的.m2子目錄下面的settings.xml的配置只是針對當前用戶的。這個文件一般是不存在的,但是Maven允許我們在這里定義我們自己的settings.xml,如果需要在這里定義我們自己的settings.xml的時候就可以把Maven安裝目錄下面的settings.xml文件拷貝到用戶家目錄的.m2目錄下,然后改成自己想要的樣子。這樣,自定義的配置會覆蓋全局配置作為maven的配置文件來使用。
?
(6)dependencies 和?dependencyManagement ?的區別
dependencies
即使在子項目中不寫該依賴項,那么子項目仍然會從父項目中繼承該依賴項。
dependencyManagement ?
如果在子項目中不寫該依賴項,那么子項目中是不會從父項目繼承該依賴項的;只有在子項目中寫了該依賴項,才會從父項目中繼承該項,并且version 和 scope 都讀取自 父pom。
?
(7)子模塊parent節點下的<relativePath/> 節點是什么含義?
表示父項目的pom.xml文件的相對路徑。默認值是../pom.xml。
查找順序:
首先在構建當前項目的地方尋找父項目的pom
其次在文件系統的指定位置(relativePath)
然后在本地倉庫
最后在遠程倉庫尋找父項目的pom
?
(8)dependencies ?VS ?dependencyManagement?
?maven中的 dependencies 和 dependencyManagement 的區別 :前者,即使在子項目中不寫該依賴項,那么子項目仍然會從父項目中繼承該依賴項。后者,如果在子項目中不寫該依賴項,那么子項目中是不會從父項目繼承該依賴項的;只有在子項目中寫了該依賴項,才會從父項目中繼承該項,并且version 和 scope 都讀取自 父pom。
?
博客:
Maven學習總結(八)——使用Maven構建多模塊項目
在Eclipse中創建Maven多模塊工程的例子
?
轉載于:https://www.cnblogs.com/avivaye/p/5336658.html
總結
以上是生活随笔為你收集整理的[maven] 使用问题及思考汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++拾遗(五)语句相关
- 下一篇: PS切图篇(一)---界面设置