Maven3.6.1——記一:mvn常用命令、創建項目過程

1、maven的核心:pom.xml文件

2、maven約定的目錄結構:

3、maven常用命令:

mvn -v:查看版本

mvn clean:刪除target

mvn compile:編譯

mvn test:測試

mvn package:打包

mvn install:上傳jar包到本地倉庫中

4、創建第一個項目maven01,實現打印Hello World!

(1)在main文件夾下創建HelloWorld.java,創建並存放在此目錄下arc>main>java>com>imooc>maven01>model

package com.imooc.maven01.model;

public class HelloWorld{
	public String sayHello(){
		return "Hello World!";
	}
}

(2)在test文件夾下創建HelloWorldTest.java,創建並存放在此目錄下arc>test>java>com>imooc>maven01>model

package com.imooc.maven01.model;

import org.junit.*;
import org.junit.Assert.*;

public class HelloWorldTest{
	@Test
	public void testHello(){
		Assert.assertEquals("Hello World!",new HelloWorld().sayHello());
	}
}

其中,測試時使用到junit包進行測試,因此需要導入其相應的包

import org.junit.*;
import org.junit.Assert.*;

(3)配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<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
                      https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
        <properties>
    	    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>

	<groupId>com.imooc.maven01</groupId>
	<artifactId>maven01-model</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
		</dependency>
	</dependencies>

</project>

其中,以下三項是maven01的信息,也是包maven01的座標

<groupId>   </groupId>        項目的包名

<artifactId> </artifactId>       模塊名(此處建議使用項目名)

<version>    </version>         版本號

另外,如下部分添加所有包的依賴

<dependencies>  </dependencies>    填寫所有包的依賴,即很多的<dependency></dependency>

<dependency>    </dependency>       填寫每一個包的依賴,即其對應的座標

引入構建包的流程:

mvn compile編譯源代碼,編譯的過程中如果用到了其他支持包,它會去pom.xml文件中查找有沒有該依賴包的座標,然後引入座標之後,會去本地倉庫中查找,如果有的話就會將該jar包加入到classpth中,如果本地沒有該jar包,就會去網上的中央倉庫中下載,並將其放在本地倉庫中,供項目進行使用。

(4)項目創建完成,運行試試

打開命令提示符,進入maven01項目目錄,

輸入命令mvn compile進行編譯,編譯成功。

輸入命令mvn test進行測試,測試運行成功。

在maven01文件夾下生成target文件夾,內含測試結果。

錯誤解決辦法:

(1)報錯:[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

解決辦法:

<project>
  ...
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  ...
</project>

(2)當創建新類,需要使用HelloWorld類時,前面需要做導入import com.imooc.maven01.model,然而編譯時報錯:

找不到maven01的jar包,因此我們需要將包含HelloWorld的jar包發佈到本地倉庫中,使用mvn install命令完成。

同時在maven02的pom.xml文件</dependencies></dependencies>中添加maven01包的依賴<dependency></dependency>,寫入maven01包的座標<groupId></groupId>、<artifactId></artifactId>和<version></version>,再次編譯便可成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章