我有自己的slf4j实现,所以我想从许多依赖项中删除logback。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
</exclusions>
</dependency>
...但是,通过将它添加为测试范围,我找到了一种快速的方法:
<dependency>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
<version>...</version>
<scope>test</scope>
</dependency>在maven中这是一个很好的练习吗?
发布于 2016-07-10 06:55:26
我可以看出测试范围是如何起作用的,但我个人会反对这样的攻击。如果您的团队放松了纪律,并开始在您的应用程序中加入黑客以节省几行代码,那么您的应用程序很快就将无法维护。
您也不应该指定spring托管依赖项的版本。您应该在pom的parent部分中定义Spring版本。您可以在spring-boot-dependencies文件中找到spring托管依赖项的矩阵。
我建议将spring-boot-starter-logging排除在外,而不是直接登录。因此,如果您正在使用log4j2 (希望您不再使用log4j ),只需这样做:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>https://stackoverflow.com/questions/38287613
复制相似问题