Maven的依赖范围

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

作用范围:

  1. 主程序范围有效(main文件夹范围内)
  2. 测试程序范围有效(test文件夹范围内)
  3. 是否参与打包运行(package指令范围内)
scope值 主程序 测试程序 打包(运行) 范例
compile(默认) Y Y Y log4j
test - Y - junit
provided Y Y - servlet-api
runtime - Y Y jdbc驱动

例如:

c 复制代码
    <dependencies>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.10</version>
        </dependency>
    </dependencies>

默认是compile,会参与打包

Maven提供了package功能

但是默认不会将依赖的jar包打入,这里在pom文件中添加如下插件进行测试

c 复制代码
    <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>

添加完成之后再用maven的package进行打包,然后查看打包后的结果:

修改scope值:

c 复制代码
     <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.10</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

再进行打包查看结果

相关推荐
IDRSolutions_CN1 分钟前
如何将 PDF 中的文本提取为 JSON 格式
java·经验分享·pdf·软件工程·团队开发
摘星编程22 分钟前
并发设计模式实战系列(6):读写锁
java·设计模式·并发编程
Java中文社群43 分钟前
最火向量数据库Milvus安装使用一条龙!
java·人工智能·后端
Apache Flink1 小时前
京东物流基于Flink & StarRocks的湖仓建设实践
java·大数据·flink
JAVA百练成神1 小时前
深度理解spring——BeanFactory的实现
java·后端·spring
兔子蟹子1 小时前
Java集合框架解析
java·windows·python
DKPT1 小时前
正则表达式
java·数据库·笔记·学习·正则表达式
南博萬1 小时前
java将pdf转换成word
java·pdf·word
有什么东东1 小时前
山东大学软件学院创新项目实训开发日志(20)之中医知识问答自动生成对话标题bug修改
java·vue·bug·springboot
打死不学Java代码1 小时前
PaginationInnerInterceptor使用(Mybatis-plus分页)
android·java·mybatis