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

相关文章
|
8天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
24 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
5天前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
19 6
|
20天前
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
17天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
36 4
|
22天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
75 8
|
20天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
58 3
|
22天前
|
PHP 开发者
深入浅出PHP:构建你的第一个Web应用
【10月更文挑战第35天】在数字时代的浪潮中,掌握编程技能已成为通往未来的钥匙。本文将带你从零开始,一步步走进PHP的世界,解锁创建动态网页的魔法。通过浅显易懂的语言和实际代码示例,我们将共同打造一个简单但功能强大的Web应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将是你的理想选择。让我们一起探索PHP的魅力,开启你的编程之旅!
|
23天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
34 3
|
24天前
|
缓存 前端开发 JavaScript
构建高性能与用户体验并重的现代Web应用
构建高性能与用户体验并重的现代Web应用
39 5
|
22天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
62 2

推荐镜像

更多