maven - Spring-boot with maven - 排除测试范围依赖
问题描述
这是我的整个pom:
<?xml version="1.0" encoding="UTF-8"?>
<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>com.shadov.test</groupId>
<artifactId>commons-logging-spring</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.4.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.0.4.RELEASE</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.4.RELEASE</version>
</plugin>
</plugins>
</build>
</project>
当我运行mvn spring-boot:run
它不起作用 - java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
。我排除spring-jcl
了包含这个缺失的类 - 所以这是预期的。
现在我删除spring-jcl
排除spring-boot-starter-test
,它开始工作。我非常困惑 - 从test
范围依赖中排除与运行应用程序有什么关系?这是一些奇怪的 maven 行为,还是 spring-boot maven 插件test
出于某种原因(如果可能的话)查看作用域依赖项?
解决方案
我想这可能是因为requiresDependencyResolution=ResolutionScope.TEST
在 RunMojo.java 中。
推荐阅读
- visidata - 如何将visidata单元格复制到mac上的系统剪贴板?
- python - TypeError:无法腌制“_thread.RLock”对象多处理
- swift - 如何将表达式分解为不同的子表达式?
- javascript - 如何按下一个可用日期排序?
- php - Amazon SP-API PHP 库
- modelica - 具有非参数测试的 if 方程中的所有分支必须具有相同数量的方程 - Modelica
- c# - 使用整数字段和枚举作为显示名称填充 DataGridComboBoxColumn
- python-3.x - anaconda 启动错误的 python 和 spyder 版本
- r - 如何按 r 中的特定行拆分数据帧
- extjs - 如何在按钮单击时打开面板