maven依赖关系

来源:互联网 发布:淘宝怎么删除下架宝贝 编辑:程序博客网 时间:2024/06/05 03:25

转载自:http://blog.csdn.net/loongshawn/article/details/50831890

  • 《Maven依赖加载错误的情况分析》
  • 《Java Web工程转换为基于Maven的Web工程》
  • 《Maven Web工程运行异常:Maven.multiModuleProjectDirectory system propery is not set的问题》
  • 《Maven运行异常:Exception in thread “main” java.lang.UnsupportedClassVersionError》

1.0 背景

maven工程在部署时,有时候大家会碰到这种情况:自己在POM中标明的是引用版本A的jar包,实际打包后却是引用版本B的jar包,或者打的war包中的lib目录下会出现pom.xml中并未引用的jar包。下面就以我遇到的情形来说明。

2.0 实例说明

2.1 案例

案例:pom中指定httpclient-4.4.jar,但实际打包后加载的是httpclient-4.3.6.jar

这个情况之前一直没有发现,直到最近在集成阿里云oss功能才有所察觉。因为每次部署线上服务器时,总是报如下异常:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">03</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">23</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">37</span> [http-nio-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7001</span>-exec-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9</span>] [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] [ERROR] - Servlet.service() <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> servlet [dispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/conn/ssl/NoopHostnameVerifier] with root cause  java.lang.ClassNotFoundException: org.apache.http.conn.ssl.NoopHostnameVerifier        at java.net.URLClassLoader$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.</span>run(URLClassLoader.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">366</span>)        at java.net.URLClassLoader$<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.</span>run(URLClassLoader.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">355</span>)        at java.security.AccessController.doPrivileged(Native Method)        at java.net.URLClassLoader.findClass(URLClassLoader.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">354</span>)        at java.lang.ClassLoader.loadClass(ClassLoader.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">425</span>)        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">308</span>)        at java.lang.ClassLoader.loadClass(ClassLoader.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">358</span>)        at com.aliyun.oss.common.comm.DefaultServiceClient.createHttpClientConnectionManager(DefaultServiceClient.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">230</span>)        at com.aliyun.oss.common.comm.DefaultServiceClient.<init>(DefaultServiceClient.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">78</span>)        at com.aliyun.oss.OSSClient.<init>(OSSClient.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">244</span>)        at com.aliyun.oss.OSSClient.<init>(OSSClient.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">204</span>)        at com.autonavi.oss.client.DefaultOSSClient.<clinit>(DefaultOSSClient.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>)        at com.autonavi.oss.put.OSSUpload.put2(OSSUpload.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">61</span>)        at com.autonavi.utils.gaokuai.FileUpload.fileUpload(FileUpload.java:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">229</span>)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul>

上面这个异常是说明缺少NoopHostnameVerifier这个类。查了下,这个类是httpclient-4.4.jar版本中的类。

这里写图片描述

工程的pom中明明已经制定了httpclient-4.4.jar的版本,按道理应该不会出现找不到类的异常。

这里写图片描述

到目前为止,可以判断是maven依赖冲突,既然有冲突,需要找到冲突的源在哪个依赖,然后过滤掉这个依赖即可。接下来进入本地的工程目录,执行以下命令,获取依赖树:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">mvn dependency:tree -Dverbose</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

注意不能仅仅是mvn dependency:tree这个命令,因为这样看不出深层次的依赖引用关系,后面必须加上-Dverbose,以下为依赖树截取部分,从中可以看出aliyun-sdk-oss-2.1.0:jar包依赖httpclient-4.3.6.jar的包。

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">com.aliyun.oss:aliyun-sdk-oss:jar:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.1</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>:compile[INFO] | +- (org.apache.httpcomponents:httpclient:jar:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.3</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.6</span>:compile - version managed from <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.4</span>; omitted <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> conflict with <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.4</span>)[INFO] | +- org.jdom:jdom:jar:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.1</span>:compile[INFO] | \- net.sf.json-lib:json-lib:jar:jdk15:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.4</span>:compile[INFO] | +- commons-beanutils:commons-beanutils:jar:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.9</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.2</span>:compile (version managed from <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.8</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>)[INFO] | | \- (commons-collections:commons-collections:jar:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.2</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.1</span>:compile - omitted <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> duplicate)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

接下来,我们先在pom中过滤掉这个httpclient-4.3.6.jar的包:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><!-- OSS Java SDK --><dependency>    <groupId>com.aliyun.oss</groupId>    <artifactId>aliyun-sdk-oss</artifactId>    <version><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.2</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span></version>            <exclusions>         <exclusion>                            <groupId>org.apache.httpcomponents</groupId>         <artifactId>httpclient</artifactId>                            </exclusion>     </exclusions> </dependency>   </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li></ul>

注意,过滤掉冲突jar包,使用如下标注:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> <exclusions>         <exclusion>                                    <groupId><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">111</span></groupId>         <artifactId><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">111</span></artifactId>                           </exclusion> </exclusions> </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

过滤掉后,重新执行mvn dependency:tree -Dverbose,得到的依赖树里面再没有说引用httpclient-4.3.6.jar,然后依次执行mvn clean和mvn install -Dmaven.test.skip=true,target中得到如下文件:

这里写图片描述

解压:

这里写图片描述

发现里面的lib目录依然加载的是httpclient-4.3.6.jar,这下子晕了,究竟问题出在哪里,这个maven工程干嘛一直加载这个版本的httpclient包。

至此,可以判断,问题的根结不是在pom依赖上面。而是其他位置,我尝试删除本地库中的httpclient-4.3.6.jar的包。然后重新执行上述maven构建命令,发现工程会自动加载这个版本的包,会不会是打包插件版本的问题:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[INFO][INFO] --- spring-boot-maven-plugin:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.1</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.9</span>.RELEASE:repackage (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">default</span>) @ rus-api-services ---[INFO][INFO] --- maven-assembly-plugin:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.2</span>-beta-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>:single (make-assembly) @ rus-api-services ---[INFO] Reading assembly descriptor: src/main/assembly/assembly.xmlDownloading: https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.pom</span>Downloaded: https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.pom (6 KB at 1.9 KB/sec)</span>Downloading: https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar</span>Downloaded: https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar (579 KB at 157.6 KB/sec)</span>[INFO] Building tar : /Users/xiaolong/Documents/workspace/rus-api-services/target/rus-api-services.tar.gz[INFO][INFO] --- maven-install-plugin:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.5</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.1</span>:install (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">default</span>-install) @ rus-api-services ---</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li></ul>

pom中配置的打包插件maven-assembly-plugin如下,版本是2.2-beta-5:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-assembly-plugin</artifactId>                <version><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.2</span>-beta-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span></version>                <configuration>                    <!-- 应用名(最后压缩包的名字)这个和你申请的应用名称一致 -->                    <finalName>rus-api-services</finalName>                    <appendAssemblyId><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span></appendAssemblyId>                    <descriptors>                        <descriptor>src/main/assembly/assembly.xml</descriptor>                    </descriptors>                </configuration>                <executions>                    <execution>                        <id>make-assembly</id>                        <phase><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">package</span></phase>                        <goals>                            <goal>single</goal>                        </goals>                    </execution>                </executions>         </plugin></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li></ul>

在网上查了下,其最新版本是2.5.3,2.2-beta-5版本有点老了,好了,先替换为新版本,试一试,果然加载了正确的httpclient-4.4.jar。

这里写图片描述

这里写图片描述

最后部署线上环境,服务运行OK。

0 1
原创粉丝点击