Maven(7)——项目构建

 

目录

一、手动构建项目

1、创建项目目录

2、执行Maven生命周期命令

二、使用项目模板构建项目

1、创建Java项目

2、创建JavaWeb项目:

3、Eclipse中使用Maven创建JavaWeb项目

4、IDEA中创建Maven项目


一、手动构建项目

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项目

待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值