Maven使用教程,建议小白(一)

407 阅读4分钟

Maven使用教程(一)

「这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战」。

关于作者

  • 作者介绍

🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻


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就会出现我的这个界面了。

后语

厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。

对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!

微信(z613500)或者 qq(1016942589) 详细交流。