实验一:用archetype命令创建Maven工程
目标:用命令行创建一个maven工程
E:\Code\study\Maven\spaceVideo>mvn archetype:generate
[INFO] Scanning for projects...
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:(回车)
Define value for property 'groupId': com.ldsnet.maven
Define value for property 'artifactId': pro01-maven-java
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' com.ldsnet.maven: :
Confirm properties configuration:
groupId: com.ldsnet.maven
artifactId: pro01-maven-java
version: 1.0-SNAPSHOT
package: com.ldsnet.maven
Y: :
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: E:\Code\study\Maven\spaceVideo
[INFO] Parameter: package, Value: com.ldsnet.maven
[INFO] Parameter: groupId, Value: com.ldsnet.maven
[INFO] Parameter: artifactId, Value: pro01-maven-java
[INFO] Parameter: packageName, Value: com.ldsnet.maven
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: E:\Code\study\Maven\spaceVideo\pro01-maven-java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 55.933 s
[INFO] Finished at: 2022-10-19T07:06:41+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo>
看见[INFO] BUILD SUCCESS 代表创建成功!
实验二:在Maven工程中写入java文件
1.在E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\main\java\com\ldsnet\maven中写入文件Calculator.java
package com.ldsnet.maven;
public class Calculator{
public int sum(int i,int j){
return i+j;
}
}
2.在E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\test\java\com\ldsnet\maven中写入CalculatorTest.java
package com.ldsnet.maven;
import org.junit.Test;
import com.ldsnet.maven.Calculator;
import static org.junit.Assert.*;
public class CalculatorTest{
@Test
public void testSuum(){
Calculator calculator=new Calculator();
int actualResult=calculator.sum(5,3);
int expectedResult=8;
//使用断言判断实际结果和期待结果是否一致
//如果结果一致,测试通过,否则抛出异常
assertEquals(expectedResult,actualResult);
System.out.println("test method have been called");
}
}
实验三:编译、测试和清理命令操作
(执行mvn copmlie和mvn clean和mvn test命令)
注意:需要在pom.xml所在的目录下执行命令,否则会提示错误
1.主程序编译mvn compile
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ pro01-maven-java ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.481 s
[INFO] Finished at: 2022-10-22T06:43:15+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
2.测试程序编译mvn test-comile
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn test-compile
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ pro01-maven-java ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ pro01-maven-java ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\test-classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.753 s
[INFO] Finished at: 2022-10-22T06:51:30+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
以上两步执行的结果就是多了一个target目录(如下图),编译后的文件在里面
主体程序编译结果存放的目录:target/classes
测试程序编译结果存放的目录:target/test-classes
3.清理操作mvn clean
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn clean
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ pro01-maven-java ---
[INFO] Deleting E:\Code\study\Maven\spaceVideo\pro01-maven-java\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.473 s
[INFO] Finished at: 2022-10-22T06:53:12+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
执行的结果就是target目录被删除
4.测试操作mvn test
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ pro01-maven-java ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ pro01-maven-java ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ pro01-maven-java ---
[INFO] Surefire report directory: E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.ldsnet.maven.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec
Running com.ldsnet.maven.CalculatorTest
test method have been called
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.484 s
[INFO] Finished at: 2022-10-22T06:54:25+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
留意测试结果中国你这一行:
test method have been called
5.测试报告位置
6.mvn package 打包
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from nexus-aliyun: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
。。。。。。。(中间下载过程忽略)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ pro01-maven-java ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ pro01-maven-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory E:\Code\study\Maven\spaceVideo\pro01-maven-java\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ pro01-maven-java ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ pro01-maven-java ---
[INFO] Surefire report directory: E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.ldsnet.maven.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Running com.ldsnet.maven.CalculatorTest
test method have been called
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ pro01-maven-java ---
Downloading from nexus-aliyun: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/maven-
。。。。。。。(中间下载过程忽略)
[INFO] Building jar: E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.753 s
[INFO] Finished at: 2022-10-24T06:15:25+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
测试成功后才打包,生成的包放在了:
[INFO] Building jar: E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar
7.mvn install 安装
安装(将结果放在本地仓库里)
操作:
E:\Code\study\Maven\spaceVideo\pro01-maven-java>mvn install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.ldsnet.maven:pro01-maven-java >------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
。。。(中间省略)
[INFO] Installing E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar to E:\Code\MavenRepository\com\ldsnet\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] Installing E:\Code\study\Maven\spaceVideo\pro01-maven-java\pom.xml to E:\Code\MavenRepository\com\ldsnet\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.297 s
[INFO] Finished at: 2022-10-24T07:00:09+08:00
[INFO] ------------------------------------------------------------------------
E:\Code\study\Maven\spaceVideo\pro01-maven-java>
安装成功后放在了:
[INFO] Installing E:\Code\study\Maven\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar to E:\Code\MavenRepository\com\ldsnet\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
Pom文件也存放在:
[INFO] Installing E:\Code\study\Maven\spaceVideo\pro01-maven-java\pom.xml to E:\Code\MavenRepository\com\ldsnet\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.pom