[Java Web]Maven:一个管理和构建Java项目的工具(二)

简介: [Java Web]Maven:一个管理和构建Java项目的工具(二)
+关注继续查看

7.4、导入Maven项目

选择右侧Maven面板,点击"+":

image

image

双击对应项目的pom. xml文件即可完成导入

7.5、Helper插件

image

image

image

8、🔺🔺PowerShell使用Maven

Maven常用命令:

        compile:编译

        clean:清理

        test:测试

        package:打包

        install:安装

默认生命周期:

image

Maven项目结构如下:

image

进入pom.xml的目录,打开终端:

image

image

或者

        image

8.1、compile

image

编译完成后会多一个target文件,放置编译后的字节码文件:

image

8.2、clean

清除target文件

image

8.3、package

根据Mavne的默认生命周期,执行打包操作的时候会先执行测试操作,所以在打包操作显示的内容中会有显示测试代码展现的结果:

image

打包前:

image

打包后:

image

最关键的是:把当前项目打包成一个jar包放在了target目录下

8.4、test

image

8.5、install

该命令会将当前项目打包成jar包并且安装到本地Maven仓库:

image

Maven仓库:从上面的信息可以看出,输出到仓库的路径为->

D:\JAVA\Maven\apache-maven-3.6.1\LOCAL_WAREHOUSE\org\example\Maven\1.0SNAPSHOT\

image

9、依赖管理

具体坐标书写格式可以到下面网址搜索:

https://mvnrepository.com/

使用坐标引入jar包的步骤:

        在项目的pom.xml中编写标签

        在标签中使用 引入坐标

        定义坐标的 groupId,artifactId,version

                (dependencies依赖关系,dependency依赖)

image

点击刷新按钮,使坐标生效:

image

9.1、快捷方式

每次需要引入jar包,都去对应的网站进行搜索是比较麻烦的,接下来介绍一种快捷引入坐标的方式

在 pom.xml 中 按 alt + insert,选择 Dependency

image

在弹出的面板中搜索对应坐标,然后双击选中对应坐标

image

点击刷新按钮,使坐标生效

9.2、自动导入

上面每次操作都需要点击刷新按钮,让引入的坐标生效。

我们也可以通过设置让其自动完成:

选择 IDEA中 File->Settings->Build,Execution,Deployment->Build Tools:

image

选择 Any changes,点击 ok 即可生效

9.3、🔺🔺依赖范围

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境。

如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。

那么这个依赖就只能作用在测试环境,其他环境下不能使用。

image

scope取值:

依赖范围

编译classpath

测试classpath

运行classpath

例子

compile

Y

Y

Y

logback

test

Y

Junit

provided

Y

Y

servlet-api

runtime

Y

Y

jdbc驱动

system

Y

Y

存储在本地的jar包

依赖取值说明:

compile :作用于编译环境、测试环境、运行环境。

test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值

provided :作用于编译环境、测试环境。后面会使用servlet-api,在使用它时,必须将 scope 设置为该值,不然运行时就会报错

runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值,不设置也没有问题

注意:

如果引入坐标不指定 scope 标签时,默认就是 compile 值。

以后大部分jar包都是使用默认值。

10、Maven常见问题

10.1、问题引入

使用Maven的时候,有可能会出现执行test显示成功但是并没有执行测试类的情况!

image

10.2、解决方法

方式一:test测试类名必须是Test,或以Test开头,或以Test结尾!

方法二:实在不行,可以修改插件。

mvn test默认使用的是surefire插件,它按照指定格式的类名查找匹配的测试类

默认包含的测试类:

        */Test.java

        */TestCase.java

默认排除的测试类:

        */AbstractTest.java

        */AbstractTestCase.java

对pom.xml文件添加如下内容即可:

1. <build>
2. <plugins>
3. <plugin>
4. <groupId>org.apache.maven.plugins</groupId>
5. <artifactId>maven-surefire-plugin</artifactId>
6. <version>2.12.4</version>
7. <configuration>
8. <includes>
9. <!--<include>*\*\*\*Test.java</include>-->
10. <include>**\*</include>
11. </includes>
12. </configuration>
13. </plugin>
14. </plugins>
15. </build>

代码配置的是Test目录中任意目录下的任意文件都看成测试类,在执行mvn test命令时都会默认检测所有文件,并执行带有@Test注解的测试方法

相关文章
|
3天前
|
Web App开发 存储 运维
Java基层卫生健康云综合管理(云his)系统源码
Java基层卫生健康云综合管理(云his)系统源码
13 0
|
3天前
|
自然语言处理 Java 关系型数据库
Java医院绩效考核管理系统源码,设有手工录入功能(可以批量导入)
Java医院绩效考核管理系统源码,设有手工录入功能(可以批量导入)
12 1
|
3天前
|
传感器 监控 Java
Java智慧工地云平台监控管理系统源码
Java智慧工地云平台监控管理系统源码
13 0
|
3天前
|
监控 数据可视化 安全
Java智慧工地管理平台可视化大数据建造工地APP源码
Java智慧工地管理平台可视化大数据建造工地APP源码
10 0
|
3天前
|
监控 安全 Java
JAVA智慧工地管理系统源码基于微服务
JAVA智慧工地管理系统源码基于微服务
8 0
|
3天前
|
运维 Java BI
【Java】HIS医院信息化管理系统源码(SaaS模式多医院)
【Java】HIS医院信息化管理系统源码(SaaS模式多医院)
14 1
|
3天前
|
监控 安全 关系型数据库
微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式
微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式
14 0
|
3天前
|
小程序 Java 数据管理
【Java】中小学智慧校园管理系统源码 SaaS模式+电子班牌系统
【Java】中小学智慧校园管理系统源码 SaaS模式+电子班牌系统
14 1
|
4天前
|
JavaScript Java 关系型数据库
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
基于微服务、Java、Springcloud、Vue、MySQL开发的智慧工地管理系统源码
21 0
|
4天前
|
传感器 监控 安全
java云智慧工地管理平台系统源码
java云智慧工地管理平台系统源码
12 0
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多