Maven игнорирует подпись пакета зависимостей - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть специально созданная банка с пакетом Had oop - azure в рамках проекта had oop. Мне нужно использовать этот 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. Тем не менее, они будут игнорироваться из Uber Jar, который собирает плагин. Структура тестов для этих проектов не сделана хорошо, и она построена как отдельный подпроект в рамках основного проекта; имея свой собственный файл POM. Когда я пишу интеграционные тесты для классов, которые я намереваюсь, я продолжаю видеть ошибку подписи безопасности java. Есть ли способ игнорировать подписанные файлы из папки Manifest, кроме параметра плагина shade?

Спасибо

1 Ответ

0 голосов
/ 19 февраля 2020

Я думаю, вы можете использовать эту ссылку , чтобы добавить стороннюю библиотеку (в вашем случае было oop - azure) в ваш локальный репозиторий 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
...