??????什么是依賴管理
對第三方依賴包的管理,可以連接互聯網下載項目所需第三方jar包。
對自己開發的模塊的管理,可以像引用第三方依賴包一樣引用自己項目的依賴包。
Maven的依賴管理方式和傳統方式有什么區別
傳統方式:從官網手動下載jar包,并拷貝到項目的lib目錄下
maven:maven的遠程倉庫自動連接本地倉庫,并通過用戶編寫的pom.xml文件獲取目標jar包的坐標(引入依賴)
什么是項目構建
項目構建是一個從編寫源代碼到編譯、測試、運行、打包、部署的過程
傳統項目和maven項目構建的區別
傳統項目:
打開Idea編寫源代碼和配置文件,對源代碼進行編譯,可以使用Junit?進行單元測試,把項目打成war包,部署到Tomcat服務器中運行。
maven項目:
maven將項目構建過程進行標準化,每個階段都可以使用一個命令來完成。
清理 --> 編譯 --> 測試 --> 報告 --> 打包 --> 部署
使用maven項目構建的好處
可以通過命令完成項目構建。(測試:使用mvn tomcat:run的命令來發布運行項目)
maven對每個構建階段進行規范,有利于大型團隊協作開發。
示例
一:
1、按照約定創建Maven項目目錄(總文件夾命名為hello)
- src/main/java —— 存放項目的.java文件?
- src/main/resources —— 存放項目資源文件,如spring, mybatis配置文件?
- src/test/java —— 存放所有測試.java文件,如JUnit測試類?
- src/test/resources —— 測試資源文件?
- target —— 項目輸出位置?
- pom.xml
創建后的樣式如圖:
2、在項目Hello根目錄建立pom.xml并添加內容
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.tx.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><name>Hello</name><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency> </dependencies>
</project>
3、創建Hello.java文件
在src/main/java/cn/tx/maven目錄下新建文件Hello.java并添加內容
注意文件夾名字不要錯
package cn.tx.maven;
public class Hello {public String sayHello(String name){return "Hello "+name+"!";}
}
4、創建HelloTest.java文件
在/src/test/java/cn/tx/maven目錄下新建測試文件HelloTest.java
注意文件夾名字不要錯
package cn.tx.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {@Testpublic void testHello(){Hello hello = new Hello();String results = hello.sayHello("maven");assertEquals("Hello maven!",results); }
}
5、進行maven的項目操作
- 打開cmd命令行,進入Hello項目根目錄執行 mvn compile命令,查看根目錄變化
- cmd 中繼續錄入mvn clean命令,然后再次查看根目錄變化
- cmd 中錄入 mvn clean compile命令, 查看根目錄變化
- cmd 中錄入 mvn clean test命令,查看根目錄變化
- cmd 中錄入 mvn clean package命令,查看根目錄變化
- cmd 中錄入 mvn clean install 查看倉庫會把項目安裝到倉庫里
結果如圖:
1.
此時根目錄下的target文件夾中應會出現
2.
3.
4.文件根目錄應暫無變化
5.內容應和4相同
6.可以看到target目錄下新添jar包
二:
1、按照約定創建Maven項目目錄
創建方式同上,且該項目依賴示例一
HelloFriend
?--src
?-----main
?----------java
?----------resources
?-----test
?---------java
?---------resources
?--pom.xml
2、在項目HelloFriend根目錄建立pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.tx.maven</groupId><artifactId>HelloFriend</artifactId><version>0.0.1-SNAPSHOT</version><name>HelloFriend</name><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency> <dependency><groupId>cn.tx.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency> </dependencies>
</project>
3、創建HelloFriend.java文件
在src/main/java/cn/tx/maven目錄下新建文件HelloFriend.java
package cn.tx.maven;
import cn.tx.maven.Hello;
public class HelloFriend {public String sayHelloToFriend(String name){Hello hello = new Hello();String str = hello.sayHello(name)+" I am "+this.getMyName();System.out.println(str);return str;}public String getMyName(){return "John";}
}
4、創建HelloFriendTest.java文件
在/src/test/java/cn/tx/maven目錄下新建測試文件HelloFriendTest.java
package cn.tx.maven;
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import cn.tx.maven.Hello;
public class HelloFriendTest {@Testpublic void tesHelloFriend(){HelloFriend helloFriend = new HelloFriend();String results = helloFriend.sayHelloToFriend("zhangsan");assertEquals("Hello zhangsan! I am John",results); }
}
5、測試打包HelloFriend項目
在HelloFriend目錄下執行命令mvn package
此時會出現系統報錯
系統報錯提示:Could not find artifact cn.tx.maven:Hello:jar:0.0.1-SNAPSHOT,表示無法找到HelloFriend所依賴的Hello 0.0.1-SNAPSHOT.jar
故此我們需要重新構建第一個項目Hello并安裝到數據倉庫,在命令行Hello根目錄下執行mvn clean install
對Hello項目進行清理并安裝后,對HelloFriend項目再次進行打包
可以看到本次打包成功,說明HelloFriend項目已經可以加載Hello項目所打包的jar包