[JavaWeb玩耍日记]Maven的安装与使用

2024-02-13 17:28

本文主要是介绍[JavaWeb玩耍日记]Maven的安装与使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一.作用

二.安装

三.使用

2.对项目使用compile命令进行编译,看看新的文件会在哪里产生?

3.需要认识的命令

4.Maven对项目执行不同命令的生命周期特点?

5.如何导入工程外的Maven?

6.如何直观地查看Maven导入了哪些工程或哪些jar包?

 7.Idea中使用Maven,在控制台输出的是乱码如何解决?

四.POM文件细节

1.导入依赖A时如果这个依赖又依靠依赖B,此时应该再去导入依赖B吗?

2.能够导入本地的模块吗?

3.如何排除导入的模块中不需要的依赖?

4.如何设置依赖的作用范围? 


一.作用

1.提供标准项目结构,使用Maven创建出来的工程模板如下:

2.提供标准项目流程(编译-测试-打包-安装一条龙一键服务)

3.自动导入与删除导入jar包(在pom文件中操作)


二.安装

1.下载rar包解压到某目录

2.创建MAVEN_HOME环境变量

3.path增添%MAVEN_HOME%\bin

4.管理员cmd输入mvn -v查看配置

5.配置本地仓库与配置阿里云仓库 

maven安装目录-conf-settings.xml文件中内容全删了放下面这些(配置了jdk17)

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>D:\apache-maven-3.6.1\mvn_localrepository</localRepository><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors><profiles><profile><id>jdk-17</id><activation><activeByDefault>true</activeByDefault><jdk>17</jdk></activation><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.compilerVersion>17</maven.compiler.compilerVersion></properties></profile></profiles>
</settings>

6.IDEA配置Maven仓库

先退出工程:File→Close Project

找到Customize-AllSettings进行全局设置:

三.使用

1.创建新的Maven项目(选择快速开始的项目)

2.对项目使用compile命令进行编译,看看新的文件会在哪里产生?

会把项目编译到新文件到target里面去

3.需要认识的命令

clean:清理,清除target目录

test:测试代码

package: 打包(产生jar包在target目录下)

install:把当前项目安装到maven的本地仓库

4.Maven对项目执行不同命令的生命周期特点?

同一生命周期内,执行后面命令,前面的命令也会执行

compile-test-package-install

如果执行安装命令,会先执行编译-测试-打包命令

5.如何导入工程外的Maven?

在项目结构处导入项目的pom文件即可

6.如何直观地查看Maven导入了哪些工程或哪些jar包?

pom文件中,右键Diagram-show可以看依赖图

 7.Idea中使用Maven,在控制台输出的是乱码如何解决?

设置-maven-runner-VMOptions填写:-Dfile.encoding=GBK


四.POM文件细节

1.导入依赖A时如果这个依赖又依靠依赖B,此时应该再去导入依赖B吗?

2.能够导入本地的模块吗?

3.如何排除导入的模块中不需要的依赖?

4.如何设置依赖的作用范围? 
<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>org.example</groupId><artifactId>maven-module1</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--1.由于依赖传递特性,不需要再去导入依赖中的依赖,全部依赖自动导入下面引入classic这个依赖也能自动引入slf4j和core依赖--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.14</version></dependency><!--2.和导入仓库中的依赖一样,也能够导入仓库中自己安装的工程模块,同时该模块中的依赖也将被导入--><dependency><groupId>org.example</groupId><artifactId>maven-module2</artifactId><version>1.0-SNAPSHOT</version><!--3.排除依赖,也就是在本工程中不需要导入工程中的jar包使用exclusions标签,一个个排除依赖,不需要写版本号--><exclusions><exclusion><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></exclusion></exclusions></dependency><!--4.使用scope标签设置依赖范围,设置为test则只能在测试程序中起效--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency></dependencies>
</project>

这篇关于[JavaWeb玩耍日记]Maven的安装与使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706145

相关文章

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求