目录
一、手动构建项目
1、创建项目目录
1.1、创建项目MavenTest的目录结构,通过手动新建文件夹的形式。
1.2、在MavenTest\src\main\java\com\starfall\maven目录下面创建Java文件:Hello.java
package com.starfall.maven;
public class Hello {
public String sayHello(String name){
return "Hello "+name+"!";
}
}
1.3、在MavenTest\src\test\java\com\starfall\maven目录下面创建测试文件:HelloTest.java
package com.starfall.maven;
import org.junit.Test;
public class HelloTest {
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("litingwei");
System.out.println(results);
}
}
1.4、在项目根目录下(MavenTest\)创建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>com.starfall.maven</groupId>
<artifactId>MavenTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2、执行Maven生命周期命令
cmd命令进入MavenTest项目根目录:
2.1、mvn compile编译项目
编译后生成的文件目录:
2.2、mvn clean清理项目
清理项目的过程就是把执行"mvn compile"命令编译项目时生成的target文件夹删掉
2.3、mvn test测试项目
测试后的目录:
2.4、mvn package打包项目
由之前的教程可知,在执行mvn package时候因为Maven生命周期的缘故,会将在此之前的过程compile、test都执行。
此步骤之前的省略截图
打包成功之后,可以看到项目的根目录下的【target】文件夹中多了一个MavenTest-0.0.1-SNAPSHOT.jar,是打包成功之后Maven帮我们生成的jar文件:
2.5、mvn install安装项目
、
安装成功后,项目的根目录下的【target】有一个MavenTest-0.0.1-SNAPSHOT.jar
除此之外,Maven本地仓库中也会存放此jar包:
二、使用项目模板构建项目
1、创建Java项目
进入一个指定的目录,例如:E:\MavenProject,执行命令:
mvn archetype:generate
mvn archetype:generate -DgroupId=com.starfall.maven -DartifactId=MavenJava -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
参数说明:
- -DgourpId:组织名,公司网址的反写 + 项目名称
- -DartifactId:项目名-模块名
- -DarchetypeArtifactId:指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
- -DinteractiveMode:是否使用交互模式
进入刚刚的目录查看生成的工程:
src/main/java中会创建一个App类:
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
src/test/java中有对应的测试类:
/**
* Unit test for simple App.
*/
public class AppTest
extends TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp()
{
assertTrue( true );
}
}
执行mvn test,进行项目测试
*注意:Maven命令执行到Generating Project in Batch mode 卡住。原因是网络问题,需要下载archetype-catalog.xml文件。
增加一个-X参数,可以查看详细信息:
mvn archetype:generate -DgroupId=com.starfall.maven -DartifactId=MavenJava -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -X
可以看到,程序停在了下面这一行。
[DEBUG] Searching for remote catalog: http://repo1.maven.org/maven2/archetype-catalog.xml
解决方法:
1、通过文件夹链接http://repo.maven.apache.org/maven2/然后找到archetype-catalog.xml下载,建议保存链接地址,到迅雷或者其他下载工具下载。
2、把文件archetype-catalog.xml复制到目录.m2\repository\org\apache\maven\archetype\archetype-catalog\3.x(Maven的仓库地址)下面。
3、在上述命令后增加参数-DarchetypeCatalog=local,变成读取本地文件即可:
mvn archetype:generate -DgroupId=com.starfall.maven -DartifactId=MavenJava -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=local
2、创建JavaWeb项目:
命令:
mvn archetype:generate -DgroupId=com.starfall.maven -DartifactId=MavenJavaWeb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=local
创建之后:
3、Eclipse中使用Maven创建JavaWeb项目
https://blog.csdn.net/shaohe18362202126/article/details/79547621
4、IDEA中创建Maven项目
待续。。。