maven环境搭建以及手动创建maven工程

今天开始学习maven,maven是一个项目管理和构建的工具,使用起来非常方便,有了maven我们可以很方便的将项目编译,打包运行等,Maven能够很方便的帮我们管理项目报告,生成站点,管理JAR文件,等等。

maven下载

首先需要到maven的官网下载maven:
http://maven.apache.org/download.cgi#
这里我下载到E:\maven\apache-maven-3.3.3目录

环境变量配置

下载完成之后,需要配置环境变量,将maven项目根目录下的bin目录配置到path环境变量当中
这里写图片描述
配置完path环境变量以后,check以下,是否配置成功,在命令行下输入:mvn -version
这里写图片描述
可以看到这里使用的maven版本号。

下面看下maven项目每个目录的作用:
这里写图片描述

手动创建一个maven工程

创建pom.xml文件

首先在改工程下创建一个pom.xml文件,用到的schema可以在spring或者hibernate等开源文件中搜索pom.xml(因为这些都是使用maven来进行管理的),将其拷贝过来即可。

<?xml version="1.0" encoding="UTF-8"?>
<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">


</project>

这里注意,我们每个工程对应的pom文件的根标签都是”project”,另外我们每个工程都必须先配置下面四个配置:
1.modelVersion :指的是模型的版本,目前值是固定的4.0.0
2.groupId :指定当前项目的项目名称,和包名相同
3.artifactId :指定当前项目中的哪一个模块,一般使用”项目名称_模块名称”这样的形式。
4.version :表示当前项目的版本

<?xml version="1.0" encoding="UTF-8"?>
<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.maven.test01</groupId>
    <artifactId>test01_hello</artifactId>
    <version>SNAPSHOT-0.0.1</version>

</project>

这里我使用的SNAPSHOT是一种快照版本,是一种特殊的版本,以后会详细解释。

创建java文件

接下来就是创建普通的java文件,这里需要注意的是,在maven中,我们的java文件都是存放在“src/main/java”这样的目录当中
这里我新创建一个Hello.java文件:

package com.maven.test01;

public class Hello {

    public String sayHello() {
        return "hello world";
    }

}

这里写图片描述

在pom.xml以及java文件都创建好了以后,我们就可以开始编译我们的maven项目了,命令行模式下进入pom.xml文件所在的目录,输入mvn compile
这里写图片描述
这里写图片描述
PS:在输入mvn compile以后,maven会从自己的中央仓库下载需要的文件,这里可能会失败,依赖于个人的网络好坏。

当maven编译完成以后,会生成一个target文件夹,这个文件夹里边存放的就是编译生成的class文件。maven默认的下载是存放在“C:\Users\admin.m2”该路径下的。
这里写图片描述

设置maven仓库位置

可以看到maven默认是将从中央仓库下载下来的文件存放在C盘,其实是可以指定其存放位置的。
1.新建一个目录”E:\maven\mavenrepo”用来存放本地仓库
2.将第一步中从网上下载下来的repository拷贝到该目录下
3.更改下载的maven工程的apache-maven-3.3.3\conf目录的settings.xml文件
这里写图片描述
4.同时将该settings.xml文件拷贝至E:/maven/mavenrepo目录下:
这里写图片描述
PS:无论是当我们编译,打包,还是运行maven工程的时候,对于需要的文件,maven都会首先在本地仓库当中查找,如果本地仓库没有找到,才会去中央仓库下载。

编写测试工程

好了,现在为止Hello类已经编译完成,下面编写test来测试该类中的sayHello方法。测试类和普通的类比较相似,所有的测试类都必须要放到”src/test/java”目录下。
TestHello.java

package com.maven.test01;
import org.junit.*;
import static junit.framework.Assert.*;

public class TestHello {

    @Test
    public void testHello() {
        Hello hello = new Hello();
        assertEquals(hello.sayHello(),"hello world");
    }

}

这里我们使用了junit,按照以往的方式,需要手动下载junit的jar文件,然后手动拷贝的工程目录,而使用maven,只需要将junit在pom.xml文件中配置一下即可,由于我们的测试类当中依赖到了junit文件,所以需要配置其依赖。在pom.xml文件当中增加如下代码:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

接下来运行”mvn test”命令,就可以测试我们的Hello类了。
这里写图片描述
此时会在target目录下生辰测试报告等文件,并且测试类也会编译好,放在target文件夹中。
这里写图片描述

mvn clean

接下来执行”mvn clean”命令,看下效果:
这里写图片描述
执行完成该命令以后,发现 编译和测试时候生成的target文件夹已经被删除了。

另外我们还可以执行这样的命令:”mvn clean package”,此时会首先执行clean命令,然后执行package命令。
这里写图片描述
此时target中的所有文件都是执行package命令生成的,可以发现,当执行package命令的时候,会自动完成“编译”,“测试”,“打包成jar”的工作。

如果需要将我们的项目打包到本地仓库中,可以执行”mvn clean install”命令。
这里写图片描述

创建第二个工程

那么,将test01打包到本地仓库有什么用呢??接下来我们创建第二个工程来说明这一点。新建一个test002的工程。

在test002根目录了下新建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.maven.test02</groupId>
    <artifactId>test02_second</artifactId>
    <version>SNAPSHOT-0.0.1</version>

     <dependencies>
        <dependency>
            <groupId>com.maven.test01</groupId>
            <artifactId>test01_hello</artifactId>
            <version>SNAPSHOT-0.0.1</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

</project>

可以看到这里引用了刚才打包好的test001,这里依赖的groupId,artifactId,就是在test001的pom.xml文件中定义的。

创建SecondHello.java

在”src\main\java”目录下新建一个SecondHello.java,内容如下:

package com.maven.test02;
import com.maven.test01.Hello;

public class SecondHello {

    public void runHelloSay() {
        Hello hello = new Hello();
        hello.sayHello();
    }
}

可以看到这里引用了test001工程中的Hello.java类但是我并没有导入相关的jar文件,而是仅仅在pom.xml文件中配置对应的依赖关系就可以使用了。

可以看到使用maven来管理项目是非常方便的,按照其约束执行指定的命令是非常方便的。好了,今天关于maven 的学习就到这里了,希望大家能够喜欢。

源码下载

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值