我在hadoop项目下有一个定制的hadoopazure包jar。我需要在我的项目中使用这个jar。我使用以下配置将jar作为maven下的依赖项导入。
<dependency>
<groupId>org.apache.hadoop.fs.abfs</groupId>
<artifactId>hadoop-azure</artifactId>
<version>2.7.1</version>
</dependency>
然而,当我尝试导入jar的签名版本时,我遇到了以下错误。
java.lang.SecurityException: class "org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem"'s signer information does not match signer information of other classes in the same package
我发现可以使用maven shade插件忽略清单中的签名文件。但是,shade插件构建的uberjar会忽略这些。本项目试验结构不完善,属于主体工程下的不同子项目;有自己的pom文件。当我为我想要的类编写集成测试时,我一直看到java安全签名错误。除了shade plugin选项之外,有没有其他方法可以忽略manifest文件夹中的签名文件?
谢谢
1条答案
按热度按时间fcwjkofz1#
我认为您可以使用此链接将第三方库(在您的案例中是hadoopazure)添加到您的本地maven存储库中,然后运行您的项目,应该可以。例如: