Mic*_*and 18 java dependencies maven-2 maven
我有一个案例,我希望依赖于运行时类路径而不是测试类路径.有问题的依赖是Logback,一个SLF4J实现.在运行时,我希望我的代码(可选)依赖于logback,以便它具有可用的日志记录基础结构.但是,在测试时,我想使用该slf4j-nop实现来破坏日志输出.随着logback作为运行时依赖,slf4j-nop作为测试的依赖,我跑我的测试时得到SLF4J多个实施警告.我没有看到logback从测试类路径中排除的方法.
如果可以避免,我不想将我的测试分成单独的包.
想法?
Mic*_*and 19
我终于找到了一个真正的解决方案.从Maven Surefire插件的2.6版本开始,现在有一个classpathDependencyExcludes配置元素,它允许从类路径中排除特定的依赖项.这因此有效:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8</version>
<configuration>
<classpathDependencyExcludes>
<classpathDependencyExclude>ch.qos.logback:logback-classic</classpathDependencyExclude>
</classpathDependencyExcludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5653 次 |
| 最近记录: |