Как переопределить версии транзитивных зависимостей в Maven для интеграции SonarQube?

Я работаю над проектом Java, который использует sonar-maven-plugin. Этот плагин имеет транзитивную зависимость от sonar-scanner-api, что приводит к уязвимостям безопасности из-за использования им okio (версия 1.17.2) и okhttp (версия 3.14.2).

Проблема, с которой я столкнулся, заключается в том, что, несмотря на попытки исключить старые версии okhttp и okio и явное добавление обновленных версий в мой pom.xml, старые версии, похоже, все еще используются во время сборки и сообщаются SonarQube.

Вот что я пробовал до сих пор:

Добавление обновленных зависимостей непосредственно в раздел dependencyManagement:

Перемещение зависимости из dependencyManagement в dependencies:

Несмотря на эти шаги, okhttp 3.14.2 и okio 1.17.2 продолжают появляться в дереве зависимостей, и SonarQube по-прежнему сообщает об уязвимостях, связанных с этими версии.

Вопросы:

Дополнительная информация:

<dependencyManagement>
<dependencies>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.12.0</version>
    </dependency>
    <dependency>
        <groupId>com.squareup.okio</groupId>
        <artifactId>okio</artifactId>
        <version>3.6.0</version>
    </dependency>
</dependencies>
<dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>4.0.0.4121</version>
        <scope>provided</scope>
        <exclusions>
            <exclusion>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.squareup.okio</groupId>
                <artifactId>okio</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.12.0</version>
    </dependency>
    <dependency>
        <groupId>com.squareup.okio</groupId>
        <artifactId>okio</artifactId>
        <version>3.6.0</version>
    </dependency>
</dependencies>
Maven version: 3.9.6
Java versiopn: 17.0.7
Sonarqube: 4.0.0.4121
OS: Windows 11

project structure as follows:
parent-pom
├── submodule1
└── submodule2
Клавдия
Вопрос задан12 апреля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.