Maven项目依赖管理

1 依赖配置

  • 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。
  • 配置:
    在 pom.xml 中编写 <dependencies> 标签
    <dependencies> 标签中 使用 <dependency> 引入坐标
    定义坐标的 groupIdartifactIdversion
    点击刷新按钮,引入最新加入的坐标
<dependencies>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>
</dependencies>

判断依赖是否添加成功,点击右侧Maven面板查看dependencies是否存在,版本号是否对应

在这里插入图片描述

如果引入依赖时,不知道依赖的坐标信息,可以到中央仓库https://mvnrepository.com/中搜索依赖坐标。

2 依赖传递

由于maven的依赖具有传递性,当导入一个依赖,会自动把所依赖的其他jar包也一起导入。

  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

在这里插入图片描述
排除依赖: 指主动断开依赖的资源。(被排除的资源无需指定版本)
只需要在直接依赖中<version>的下一行中加上以下代码,XXX中填写需要排除的依赖

<exclusions>
	<exclusion>
        <groupId>XXX</groupId>
        <artifactId>XXX</artifactId>
    </exclusion>
</exclusions>

3 依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过 <scope>…</ scope > 设置其作用范围。

作用范围:

  • 主程序范围有效。(main文件夹范围内)
  • 测试程序范围有效。(test文件夹范围内)
  • 是否参与打包运行。(package指令范围内)

在这里插入图片描述

进行test测试时,需要添加以下依赖:

<dependency>
<groupld>junit</ groupld>
<artifactld>junit</ artifactld>
<version>4.10</version>
<scope>test</ scope >
</dependency>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Maven中单单使用package插件不能将所依赖的jar包打包进去,因此在Maven项目中打包需要在pom.xml文件中添加:

    <!--  打包插件  -->
  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <descriptorRefs>
                    	<descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                        	<goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

然后再使用package插件就可以将所需依赖打包

注意:<goal>single</goal>为红色时,报错:Cannot resolve symbol ‘single’,解决方法:File -> Invalidate Caches / Restart–>Invalidate and Restart,作用:清空 cache 并且重启。语法就会正确高亮了。

4 生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。

clean在一套生命周期,compile、test、package、install在一套生命周期

在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行,当运行install时,前面不会运行clean。

生命周期阶段:
clean:移除上一次构建生成的target文件
compile:编译项目源代码,.class字节码文件放在生成的target文件中
test:使用合适的单元测试框架运行测试(junit),在带有@Test注释的全都执行
package:将编译后的文件打包存在target文件,如:jar、war等
install:将项目打包成jar包安装到本地仓库D:\maven\apache-maven-3.6.1\maven- repo,jar包坐标信息可在本地仓库文件夹的xml文件中查看

在这里插入图片描述

运行指定生命周期的两种方式

  1. 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。
    在这里插入图片描述
  2. 在命令行中,通过命令执行。 在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值