Java 如何解决Groovy与Apache公共日志的冲突?
这是我的自定义maven Groovy执行:Java 如何解决Groovy与Apache公共日志的冲突?,java,logging,groovy,maven,Java,Logging,Groovy,Maven,这是我的自定义maven Groovy执行: [...] <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.0-rc-5-SNAPSHOT</version> <executions> <execution>
[...]
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0-rc-5-SNAPSHOT</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<classpath>
<element>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</element
</classpath>
<source>
import org.apache.commons.httpclient.HttpClient;
// ...
</source>
</configuration>
</execution>
</executions>
</plugin>
[...]
我想我理解它为什么会发生,但我如何解决它呢?如果不查看整个pom.xml文件,很难确切地说如何解决这个问题,但我建议查看标记。您可以使用以下方法排除额外的依赖项:
<plugin>
...
...
<dependencies>
<dependency>
<artifactId>...</artifactId>
<groupId>...</groupId>
<version>...</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
<exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
...
...
...
...
...
公用记录
公用记录
检查谁正在使用mvn dependency:tree导入该依赖项并删除冲突。升级到1.3版解决了问题。我很好奇,为什么要使用旧的gmaven插件而不是1.3()?谢谢,从现在起将使用1.3:)我的项目中包含了通用日志记录。我不能完全排除它:)我只需要为这个特定的Groovy片段排除它。可能吗?Vincenzo,您的“commons httpd”也有一个commons日志依赖项。因此,当您尝试使用commons httpclient时,有两个“commons logging”依赖项发生冲突(您包括的那个依赖项和它想要使用的那个依赖项)。我建议你做的是排除commons httpclient想要使用的那个。没错,但是如何排除它呢?我知道谁在导入这个依赖项,是我:)我需要这个JAR在我的项目中,我不能排除它。我只想Gmaven不要再导入它。我能做这个吗?
<plugin>
...
...
<dependencies>
<dependency>
<artifactId>...</artifactId>
<groupId>...</groupId>
<version>...</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
<exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>