maven配置步骤及问题

一、Maven->conf->settings.xml 文件配置

E:\szsgg\video\4maven\apache-maven-3.5.4\conf\setting 配置

二、idea 创建maven 工程

File->new->project->Empty project

New->module->创建,需要特别注意标红地方,父工程选none,工程路径确保在工程下而不是模块下

三、Maven 工程中易出现的问题?

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:b1100e64-af47-4e11-ab71-fb5e3faeb9ed

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:94981649-8adc-4043-a4f0-2f6bed3f0f6c

可能是模块的jar 包没有放到仓库中,需要将模块jar 包放置本地仓库

步骤: 找到此工程->选择install 命令放置到仓库再次运行即可

c ompile (默认就是这个范围)

(1 )main 目录下的Java 代码 可以访问这个范围的依赖

(2 )test 目录下的Java 代码 可以访问这个范围的依赖

(3 )部署到Tomcat 服务器上运行时 放在WEB-INF 的lib 目录下

例如:对Hello 的依赖。主程序、测试程序和服务器运行时都需要用到。

2 )test

(1 )main 目录下的Java 代码 不能访问这个范围的依赖

(2 )test 目录下的Java 代码 可以访问这个范围的依赖

(3 )部署到Tomcat 服务器上运行时 不会放在WEB-INF 的lib 目录下

例如:对junit 的依赖。仅仅是测试程序部分需要。

3 )provided

(1 )main 目录下的Java 代码 可以访问这个范围的依赖

(2 )test 目录下的Java 代码 可以访问这个范围的依赖

(3 )部署到Tomcat 服务器上运行时 不会放在WEB-INF 的lib 目录下

当存在间接依赖的情况时,主工程对间接依赖的jar 可以访问吗?这要看间接依赖的jar 包引入时的依赖范围——只有依赖范围为compile 时可以访问。例如:

Maven 工程

依赖范围

对A 的可见性

compile

test

provided

1.路径最短者优先,当本工程依赖或间接依赖两个不同的版本时,采用离本工程最近的工程

2.路径相同时先声明者优先

这里”声明”的先后顺序指的是dependency 标签配置的先后顺序,也就是本工程依赖写在xml 文件中最前面的jar 包

在pro.xml 中找到所导入的依赖,添加以下代码,切记需要添加到dependency 标签下

以对Spring 的jar 包依赖为例:Spring 的每一个版本中都包含spring-context ,springmvc 等jar 包。我们应该导入版本一致的Spring jar 包,而不是使用4.0.0 的spring-context的同时使用4.1.1 的springmvc 。

但是如果我们一个一个修改,就会很麻烦。所以我们可以自定义一个标签进行统一管理依赖的版本号,类似于java 中的变量赋值,当需要修改时就可以统一修改,此标签需要写在pro.xml 的最上面

什么是Maven 的生命周期?

Maven 生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven 就可以自动化的执行构建命令了。

Maven 有三套相互独立的生命周期,分别是:

  • Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
  • Default Lifecycle 构建的核心部分,编译,测试,打包,安装,部署等等。
  • Site Lifecycle 生成项目报告,站点,发布站点。

再次强调一下它们是 相互独立的,你可以仅仅调用clean 来清理工作目录,仅仅调用site 来生成站点。当然你也可以直接运行 mvn clean install site运行所有这三套生命周期。

每套生命周期都由一组阶段(Phase )组成,我们平时在命令行输入的命令总会对应于一个特定的阶段。比如,运行mvn clean ,这个clean 是Clean 生命周期的一个阶段。有Clean 生命周期,也有clean 阶段。

生命周期与自动化构建

运行任何一个阶段的时候,它前面的所有阶段都会被运行,例如我们运行mvn install 的时候,代码会被编译,测试,打包。这就是Maven 为什么能够自动执行构建过程的各个环节的原因。此外,Maven 的插件机制是完全依赖Maven 的生命周期的,因此理解生命周期至关重要。

四、 继承

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:c36b5c04-cccd-413e-8134-206b3528dcf6

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:b9cddcd7-d9cb-4ca9-9db7-790a8f912cce

(1 )父工程的打包方式为pom

(2)父工程只需要保留pom.xm l 文件即可。

(1 )父工程坐标

(2 )继承

此时如果子工程的groupId和version如果和父工程重复则可以删除

(1 )将Parent 项目中的dependencies 标签,用dependencyManagement 标签括起来。

(2 )在子项目中重新指定需要的依赖,删除范围和版本号。

五、 酷站

我们可以到http://mvnrepository.com/搜索需要的jar 包的依赖信息。

Original: https://www.cnblogs.com/CYan521/p/16475127.html
Author: 再美不及姑娘你
Title: maven配置步骤及问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/562318/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球