Java框架 -- 項目管理工具Maven

一、Maven的簡介

1.1 定義

Maven 是 Apache 下的一個開源項目,是純 Java 開發,並且只是用來管理 Java 項目的。

1.2 優點

  • 對於同一個 JavaWeb 項目,用 Maven 管理的要比不用的小很多,對 jar 包做了統一管理,依賴管理
  • 一鍵構建
  • 可跨平臺
  • 應用在大型項目可提高開發效率

1.3 依賴管理

對 jar 包的統一管理,項目需要哪個就引用倉庫的哪個,這樣可以節省空間。
在這裏插入圖片描述

1.4 項目一鍵構建

Maven能幹的事:

編譯、測試(junit)、運行、打包、部署。

二、Maven的安裝配置

2.1 Maven工具的目錄結構

在這裏插入圖片描述

2.2 環境變量配置

2.3 Maven倉庫

  • 本地倉庫(自己維護)
    本地倉庫的配置只需要修改 Maven 核心文件 settings.xml 文件就可以。
    在這裏插入圖片描述
  • 遠程倉庫(私服,公司維護)
  • 中央倉庫(Maven團隊維護,共有 jar 包約兩個億)

三個倉庫的關係:
在這裏插入圖片描述

三、命令行中使用Maven工具

  • mvn clean:清理編譯的文件(target)

  • mvn compile:編譯主目錄的文件

  • mvn test:編譯並運行 test 目錄的代碼

  • mvn package:打包( jar 包(給別人用),war 包(Web工程,放到 tomcat 裏直接運行))

  • mvn install:就是把項目(打包後的 war 包)發佈到本地倉庫

  • mvn tomcat:run:運行(包括編譯)

四、Maven項目構建

4.1 Maven項目的目錄結構

在這裏插入圖片描述

4.2 Maven在eclipse中的配置

4.2.1 選擇Maven軟件

在這裏插入圖片描述

4.2.2 修改默認的本地倉庫地址

在這裏插入圖片描述

4.3 新建項目

4.3.1 新建maven項目

在這裏插入圖片描述

4.3.2 跳過骨架

如果不跳過骨架選擇創建出的項目目錄是不全的。
在這裏插入圖片描述

4.3.3 填寫座標

在這裏插入圖片描述

4.3.4 工程創建完成

在這裏插入圖片描述

4.3.5 處理紅色叉號

手動在webapp文件夾下創建一個 WEB-INF 文件夾,在裏面放一個 web.xml 文件。
Maven 支持 war 的打包方式,但是不支持 Web 工程。
在這裏插入圖片描述
也可一鍵生成(右鍵項目):
在這裏插入圖片描述

4.3.6 處理編譯版本

需要添加 JDK 編譯插件。
在這裏插入圖片描述
搜索。
在這裏插入圖片描述
<plugin> 被添加,但是其中的 <cofiguration> 需要自己寫。<cofiguration> 不設置則默認。
在這裏插入圖片描述
此時工程會報錯,需要更新。
在這裏插入圖片描述

4.4 完成項目

4.4.1 webapp 中添加 index.jsp

4.4.2 添加需要的 jar 包、插件

<build>
		<plugins>
			<!-- JDK編譯插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>	<!-- 源碼版本 -->
					<target>1.7</target>	<!-- 編譯後版本 -->
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- tomcat插件 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<!-- 
				<configuration>
					<port>8080</port>
					<path>/</path>
					<charset>UTF-8</charset>
				</configuration> 
				-->
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

在這裏插入圖片描述
在這裏插入圖片描述
注意:
maven-war 工程導入 jsp-api.jar 後運行時出錯。原因:部署到 tomcat 後,tomcat 中自帶的 jsp-api.jar 和工程中添加的 tomcat 插件衝突。

解決方案:需要將添加的 jar 包設置爲運行時不可用(設置依賴範圍):<scope>provided</scope>

依賴範圍:

  • Compile(如 commons-lang.jar)
    編譯(compile)時需要 測試時需要,運行時需要,打包時需要
  • Provided(如 jsp-api.jar,servlet-api.jar)
    編譯(compile)時需要,測試(test)時也需要 ,運行時不需要,打包時不需要
  • Runtime(如數據庫驅動包)
    編譯時不需要,測試時需要,運行時需要,打包時需要
  • Test(如 junit.jar)
    編譯時不需要,測試時需要,運行時不需要,打包也不需要

4.4.3 運行

在這裏插入圖片描述
在這裏插入圖片描述
注:tomcat:run 默認使用 tomcat6,如用 tomcat7 則需寫 tomcat7:run。
在這裏插入圖片描述
運行結果如下:
在這裏插入圖片描述

五、junit單元測試

5.1 由來

沒有 main 方法,怎麼調試?

單元測試,以方法爲單元進行調試,企業中就是這樣來進行調試的。

5.2 步驟

  • 導入相關 jar 包
    在這裏插入圖片描述
  • 給方法添加註解 @Test
package test;

import org.junit.Test;

public class Demo01 {
	@Test
	public void test1() {
		System.out.println("test1");
	}
	
	@Test
	public void test2() {
		System.out.println("test2");
	}
	
	@Test
	public void test3() {
		System.out.println("test3");
	}
}
  • 右鍵方法名 → Run as → JUnit Test
    在這裏插入圖片描述
  • 方法測試
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章