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

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

7.4、导入Maven项目

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

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

7.5、Helper插件

8、🔺🔺PowerShell使用Maven

Maven常用命令:

       compile:编译

       clean:清理

       test:测试

       package:打包

       install:安装

默认生命周期:

Maven项目结构如下:

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

或者

       

8.1、compile

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

8.2、clean

清除target文件

8.3、package

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

打包前:

打包后:

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

8.4、test

8.5、install

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

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

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

9、依赖管理

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

https://mvnrepository.com/

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

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

       在标签中使用 引入坐标

       定义坐标的 groupId,artifactId,version

               (dependencies依赖关系,dependency依赖)

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

9.1、快捷方式

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

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

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

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

9.2、自动导入

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

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

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

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

9.3、🔺🔺依赖范围

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

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

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

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显示成功但是并没有执行测试类的情况!

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注解的测试方法

相关文章
|
1天前
|
SQL Java
20:基于EL与JSTL的产品管理页-Java Web
20:基于EL与JSTL的产品管理页-Java Web
11 5
|
1天前
|
设计模式 前端开发 Java
19:Web开发模式与MVC设计模式-Java Web
19:Web开发模式与MVC设计模式-Java Web
9 4
|
1天前
|
设计模式 存储 前端开发
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
11 4
|
1天前
|
SQL Java 数据库连接
17:数据库连接池与Servlet整合-Java Web
17:数据库连接池与Servlet整合-Java Web
7 3
|
4月前
|
存储 Java Maven
使用 nohup 部署和后台运行Java 项目
使用 nohup 部署和后台运行Java 项目
169 1
使用 nohup 部署和后台运行Java 项目
|
弹性计算 数据可视化 关系型数据库
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
4967 0
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
|
7天前
|
Java 应用服务中间件 Docker
【Docker】部署启动java项目
【Docker】部署启动java项目
15 2
|
9月前
|
Java
docker-compose部署java项目
docker-compose部署java项目
561 0
|
12月前
|
弹性计算 NoSQL 安全
如何在阿里云服务上部署java项目
最近博主接了一波私活,由于上云的概念已经深入人心,客户要求博主也上云,本文将介绍上云的教程。
1432 0
|
SQL Java 关系型数据库
手把手带你部署Java项目到Linux服务器
手把手带你部署Java项目到Linux服务器
778 1
手把手带你部署Java项目到Linux服务器