如何解决包冲突问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决包冲突问题相关的知识,希望对你有一定的参考价值。

由于,lib目录中的struts.jar和struts-core-1.3.8.jar存在冲突导致部分服务器上应用启动报错,或访问后台JSP页面时报TILES标签错误,经排查,其实struts.jar中的class文件在struts-core-1.3.8.jarstruts-taglib-1.3.8.jarstruts-tiles-1.3.8.jar中均已存在,且版本要高于struts.jar中的classstruts.jar为version1.0而struts-core-1.3.8.jar,truts-taglib-1.3.8.jar,struts-tiles-1.3.8.jar为version1.2在struts1.2中引用tilestld的写法发生变化故解决法如下:1.去掉原strtus.jar2.去掉struts-tiles.tld3.将所有JSP页面中的改为 参考技术A 有时候在用maven进行项目打包过程中,会出现下面这种错误信息:
Cannot locate declared field class....
意思就是找不到对应的类,因为项目中存在多个 类的路径并且名字一样的 类。程序无法确定使用哪一个。
解决的办法就是,在pom.xml中,在对应的包引用下排除掉多余的包。即告诉maven在打包编译的时候不需要这部分内容,具体配置如下:

[html] view plain copy
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.3.0</version>
<exclusions>
<exclusion>
<artifactId>httpclient</artifactId>
<groupId>org.apache.httpcomponents</groupId>
</exclusion>
</exclusions>
</dependency>

即其中的exclusions部分所示。本回答被提问者采纳

以上是关于如何解决包冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决包冲突问题

如何解决包冲突问题

如何解决maven 与 tomcat jar包冲突

如何解决包冲突问题

如何配置maven pom文件来解决jar包冲突

如何解决 .NET Core 包版本冲突