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 工程中易出现的问题?

有可能是配置文件没有进行导入依赖,先查看是否导入

可能是模块的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 的生命周期的,因此理解生命周期至关重要。

四、 继承

使用继承机制就可以将这样的依赖信息统一提取到父工程模块中进行统一管理。

(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/713871/

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

(0)

大家都在看

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