maven忽略依赖包的签名

e5nqia27  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(765)

我在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文件夹中的签名文件?
谢谢

fcwjkofz

fcwjkofz1#

我认为您可以使用此链接将第三方库(在您的案例中是hadoopazure)添加到您的本地maven存储库中,然后运行您的项目,应该可以。例如:

mvn install:install-file -Dfile=C:\Projects\HadoopAzure\hadoop.jar -DgroupId=org.apache.hadoop.fs.abfs \
    -DartifactId=hadoop-azure -Dversion=2.7.1 -Dpackaging=jar

相关问题