超级详细的Maven使用教程

Maven使用教程

第一个Maven项目

必须遵守Maven的约定:

–src/main/java ——存放项目的.java文件

–src/main/resources ——存放项目资源文件,如spring, hibernate配置文件

–src/test/java ——存放所有测试.java文件,如JUnit测试类

–src/test/resources —— 测试资源文件

–target —— 项目输出位置

–pom.xml

第一个Maven项目步骤:

第一步:首先建立Hello项目同时建立Maven约定的目录结构

Hello
–src
------main
---------java
---------resources
------test
---------java
---------resources
–pom. xml

image-20210916211851050

第二步:在项目Hello根目录建立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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.rjxy.maven</groupId>
    <artifactId>Hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Hello</name>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
			<artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
      </dependencies>
</project>
第三步:在Hello/src/main/java/cn/rjxy/maven目录下新建Hello.java
package cn.rjxy.maven;

public class Hello{
	public String sayHello(String name){
		return "Hello " + name + "!";
	}
}
第四步:在/Hello/src/test/java/cn/rjxy/maven目录下新建HelloTest.java
package cn.rjxy.maven;
import org.junit.Test;
import static junit.framework.Assert.*;

public class HelloTest{
@Test
	public void testHello(){
		Hello hello = new Hello();
		String results = hello.sayHello("limao");
		assertEquals("Hello limao!",results);	
	}
}
第五步:cmd命令窗口执行命名
  • 打开cmd命令行,进入Hello项目根目录执行mvn compile(编译)命令,查看根目录变化

image-20210917172945891

生成了target目录

image-20210917173049961

  • cmd中继续录入mvn clean命令再次查看根目录变化

image-20210917173131852

将根目录下生成的target文件移除

image-20210917173151374

  • cmd中输入mvn clean compile命令查看根目录变化

image-20210917173641641

执行顺序:

1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5)

2、使用资源插件:maven-resources-plugin:2.6执行资源文件的复制等(版本2.6)

3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至target\classes目录下(版本3.1)

4、整个编译过程完成。

  • cmd中输入mvn clean test命令查看根目录变化

image-20210917181204646

clean表明将你上一次编译生成的一些文件删去,test表明只履行测验代码

  • cmd中输入mvn clean package命令,查看根目录变化

image-20210917181358175

执行顺序:

1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5)

2、使用资源插件:maven-resources-plugin:2.6执行资源文件的处理(版本2.6)

3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至target\classes目录下(版本3.1)

4、使用资源插件:maven-resources-plugin:2.6执行测试资源文件的处理(版本2.6)

5、使用编译插件:maven-compiler-plugin:3.1编译测试目录下的所有源代码(版本3.1)

6、使用插件:maven-surefire-plugin:2.12运行测试用例(版本2.12)

7、使用插件:maven-jar-plugin:2.4对编译后生成的文件进行打包,包名称默认为:artifactId-version,比如本例生成的jar文件:Hello-0.0.1-SNAPSHOT.jar,包文件保存在target目录下(这个生成的包不能在命令行中直接执行,因为我们还没有入口类配置到资源配置文件中去,后续会阐述)。

第二个Maven项目

第六步:建立HelloFriend项目同时建立Maven约定的目录结构

HelloFriend
–src
------main
---------java
---------resources
------test
---------java
---------resources
–pom. xml

第七步:在项目HlloFriend根目录建立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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.rjxy.maven</groupId>
    <artifactId>HelloFriend</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>HelloFriend</name>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
			<artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
		
		<dependency>
            <groupId>cn.rjxy.maven</groupId>
			<artifactId>Hello</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
		
      </dependencies>
</project>
第八步:在/HelloFriend/src/main/java/cn/rjxy/maven目录下新建HelloFriend.java
package cn.rjxy.maven;

public class HelloFriend {
	public String sayHelloFriend(String name){
		Hello hello = new Hello ();
		String str = hello.sayHello(name) + " I am " + this.getMyName();
		System.out.println(str);
		return str;
	}
	
	public String getMyName(){
		return "Zsr";
	}
}
第九步:在/HelloFriend/src/test/java/cn/rjxy/maven目录下新建HelloFriendTest.java
package cn.rjxy.maven;
import org.junit.Test;
import static junit.framework.Assert.*;

public class HelloFriendTest{
@Test
	public void testHelloFriend(){
		HelloFriend helloFriend = new HelloFriend();
		String results = helloFriend.sayHelloFriend("Zsr");
		assertEquals("Hello Zsr! I am Zsr",results);	
	}
}
第十步:在HelloFriend目录下执行mvn package

image-20210917182553353

我这里没有出现问题,如果说系统报错出现说没有找到依赖。就需要重新构建Hello项目并安装到数据仓库,在命令行Hello的根目录下执行mvn clean install。之后再HelloFriend目录下执行命令mvn package就会出现我的这个界面了。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值