class "org.apache.poi.util.PackageHelper"'s signer information does not match 解决方法

我们的项目采用的是maven来管理,jar一般都不会出现依赖。但是有时候添加打入本地仓库的包的时候可能会出现重复的类,这一次就是两个不同的包里面出现包名类名完全一样的类了,所以导致出现这样错误class "org.apache.poi.util.PackageHelper"'s signer information does not match 。

解决方法:1.一般是通过排查Maven libraries是否有重复的jar包,有则exclusion。

 2.查看是否有多个版本的问题

这两个排查后,仍然出现同样的问题,非常奇怪,所以就想排查是否不同包下有同样包名和类名,而后想自己写代码去实现,但是时间有限,思路没想通,所以一直未做,后来某一天查了下maven插件,发现有可以检测不同包下同名的类的问题的插件:maven-duplicate-finder-plugin。

这是我参考的文章:http://myexception.org/industry/309676/

第一个在pom.xml中加入

[html]  view plain copy
  1. <plugin>    
  2.                <groupId>com.ning.maven.plugins</groupId>    
  3.                <artifactId>maven-duplicate-finder-plugin</artifactId>    
  4.                <version>1.0.0</version>    
  5.                <configuration>    
  6.                    <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>    
  7.                </configuration>    
  8.                <executions>    
  9.                    <execution>    
  10.                        <phase>verify</phase>    
  11.                        <goals>    
  12.                            <goal>check</goal>    
  13.                        </goals>    
  14.                    </execution>    
  15.                </executions>    
  16.            </plugin>  
然后运行duplicate-finder:check 但是提示出错,无法检查,而后有查看了下参考文章,在maven中添加了pluginGroup后 <plugingroup>com.ning.maven.plugins</plugingroup> 在运行,检测除了poi与birt中的有重复的类,将相应重复类排除掉后,正常运行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值