Caused by: java.lang.NoSuchFieldError: INSTANCE

今天编译工程,编译没有出错,但是部署到Server的时候,抛出了下面的错误。

Caused by: java.lang.NoSuchFieldError: INSTANCE_第1张图片

最后追查,工程下分别引用了httpclient 4.2.1和httpclient4.3.5的版本,导致版本冲突。

之所以会引起冲突,是因为加载的包中,又加载了httpclient 4.2.1的版本。

相当于

顶层POM.xml引用了Httpclient包(4.3.5版本)和B包,但是B包中又依赖了httpclient(4.2.1版本),因此版本冲突

解决办法:

<dependency>
            <groupId>com.baidu.duxuetang</groupId>
            <artifactId>duxuetang-fundamental-util</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <exclusions>
                <exclusion>
                    <artifactId>logback-classic</artifactId>
                    <groupId>ch.qos.logback</groupId>
                </exclusion>
                <exclusion>   <!--去掉httpclient的依赖加载-->
                    <artifactId>com.springsource.org.apache.httpcomponents.httpclient</artifactId>
                    <groupId>org.apache.httpcomponents</groupId>
                </exclusion>
            </exclusions>
        </dependency>





你可能感兴趣的:(Caused by: java.lang.NoSuchFieldError: INSTANCE)