jive 6代码中的某处使用了httpcore-4.0.1.jar
。
但是,在我的插件中,使用了httpcore-4.3.2.jar
。
由于这种罐子冲突,我在运行jive的货物启动时看到了NoSuchFieldError
。
经过调查,我在http://thinkoutofthenet.com找到了关于Maven Shade Plugin解决方案的一个很好的链接(参见上面链接的第二个主题)。
我期待Maven Shade插件可以重命名
import org.apache.http.impl.client.HttpClients;
到
import embedded.org.apache.http.impl.client.HttpClients;
通过pom.xml
中的以下更改。但是,它没有用。有谁知道出了什么问题?以及如何解决我当前的问题?
...
<build>
<finalName>${final.name}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<createDependencyReducedPom>true</createDependencyReducedPom>
<relocations>
<relocation>
<pattern>org.apache.http.impl</pattern>
<shadedPattern>embedded.org.apache.http.impl</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
...
谢谢:)