maven(2/3)

1. idea下maven的配置

  • 从空项目开始

先创建一个空的项目,然后在设置中搜索maven:
在这里插入图片描述
如果配置文件之前改过的,要把这里改成修改后的配置文件:
在这里插入图片描述
然后创建一个maven的module:
在这里插入图片描述
创建好之后缺一个test的resources,要自己创建。这时候文件夹是灰色的,我们需要进行标记,如图:
在这里插入图片描述
然后就可以在pom.xml文件里加上之前讲的坐标了。在文件里加上<dependencies>标签,然后把坐标直接cv到标签里。完成之后,点击右边maven模块的刷新按钮。
在这里插入图片描述在这里插入图片描述

  • 从原型中创建maven项目

maven原型可以理解为模板,即可以让大家都用同一套模板开发项目。
在这里以quickstart为例。
在这里插入图片描述
关于原型的详细介绍看maven的官方文档
创建好之后要等待一会,maven会在后台自动安装插件,几秒钟之后会发现目录变成了这样:
在这里插入图片描述

2. 一个demo

运行一个maven环境下的测试程序
结构是这样的:
在这里插入图片描述
Demo.java:

public class Demo {
    public String saying(String name){
        System.out.println("hello "+name);
        return "hello"+name;
    }
}

DemoTest.java:

import org.junit.Assert;
import org.junit.Test;

public class DemoTest {
    @Test
    public void testSay(){
        Demo demo=new Demo();
        String ret=demo.saying("human");
        Assert.assertEquals("hello human",ret);
    }
}
  • 测试程序的编译

首先可以打开右侧maven栏,点击里边的compile。
也可以配置运行环境
在这里插入图片描述
在这里插入图片描述
然后就可以直接点最上面的运行按钮
其他的maven命令都可以通过这种方式配置

  • 测试程序的运行:

首先可以传统地去点test注解旁边的运行按钮
也可以打开右侧maven栏,点击里边的test。如果测试正确,结果中会有这样的字样:
在这里插入图片描述
如果不正确怎会报错
关于这个配置运行环境

3. maven的生命周期和插件

maven的所有功能都是通过插件来实现,包括控制生命周期的进程,以及其他各种功能。

程序执行的规范。不然不同公司或者不同项目,程序执行的具体过程都不一样。
compile:编译。编译之后会生成target文件夹,编译后的字节码文件会放在target/classes下。
clean:会将target目录删除。
test:对项目中的每个测试单元进行测试。在“target/surefire-reports/”中会有测试报告
package:将项目的字节码文件打包成jar
install:将你写的项目打包,并放到本地仓库中

4.tomcat插件的安装

首先我们用原型创建一个web模块
在这里插入图片描述
加上index.jsp,自己随便写点东西用于测试
在这里插入图片描述

接下来去网上找插件。在maven库中找到这一项
在这里插入图片描述
选择这一项,复制坐标
在这里插入图片描述
在pom,插件的坐标和包的坐标有些区别,包的坐标是直接放在中。而插件的坐标,首先要把改成,然后放在这里:
在这里插入图片描述

在这里插入图片描述

到右边maven选项栏中刷新,然后等待下载即可。
启动前,删掉web-inf中的文件,只保留web.xml。然后删掉web.xml中标签中的所有标签。(不然会爆红)
点击tomcat插件中的tomcat7:run,就可以开启服务器。
在这里插入图片描述

5. 依赖传递

一个模块可以把另一个模块当作依赖,放到自己的pom里边,这样另一个模块的依赖,本模块都可以使用。方法:只需要把另一个模块的以下信息放到自己的依赖中就行了
在这里插入图片描述
这就以为着,依赖是可以套娃的。直接引用的依赖叫做直接依赖,直接依赖下层的依赖全部叫做间接依赖。
在这里插入图片描述
依赖隐藏:在依赖的配置中加上true就可以隐藏自己的依赖不被别人用
排除依赖:如果不想要某个间接依赖,可以在直接依赖中加上exclusions标签
在这里插入图片描述

6. 依赖范围

在这里插入图片描述
如果加了scope属性,该包被引用为依赖时,该属性会受到影响。如下表所示,如果一个包被配置为test和provided,则该包不能被依赖。如果该包被配置为compile和runtime,当引用他的上层包不做设置时,就还是compile和runtime。如果都配置了,则如下所示。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值