#java #maven #security #jar #pom.xml
Вопрос:
Мы создаем наше потоковое приложение Kafka, написанное на Java с использованием maven. Наблюдается, что при создании приложения maven-core-2.0.9.jar загружается.
Мы используем Black Duck для анализа библиотек на наличие уязвимостей в системе безопасности и maven-core-2.0.9.jar помечен как банка с высокой уязвимостью. Black Duck предлагает нам обновить эту банку до более высокой версии maven-core-3.8.4.jar . Как мне это сделать, поскольку это не является частью дерева зависимостей приложения.
Ниже приведен следующий pom.xml которые мы используем. Должен ли я вносить какие-либо изменения, чтобы мы использовали последнюю версию maven / maven libraries / plugins.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sampleproject.</groupId>
<artifactId>testproject</artifactId>
<version>1.0.0.0</version>
<properties>
<java.version>1.8</java.version>
<maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
<jacoco.version>0.8.5</jacoco.version>
<sonar.language>java</sonar.language>
<jackson.version>2.10.1</jackson.version>
<sonar.coverage.exclusions>
**/*.xml,
**/*.properties,
build.properties,
package/**,
config/**
</sonar.coverage.exclusions>
</properties>
<dependencies>
<dependency>
<!-- Dependancies of project -->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.dell.sadatahub.azure.SACCollectionProcessorTopology</mainClass>
</transformer>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<rules>
<dependencyConvergence />
</rules>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>releases</id>
<name>libs-release-local</name>
<url>https://dcsartifacts.dell.com/artifactory/libs-release-local</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>libs-snapshot-local</name>
<url>https://dcsartifacts.dell.com/artifactory/libs-snapshot-local</url>
</snapshotRepository>
</distributionManagement>
</project>
Комментарии:
1. Сначала вы не можете обновить зависимость от используемого инструмента / библиотеки… это должно быть сделано разработчиками библиотеки / инструмента… Кроме того, я не очень удивлен этим, потому что maven-core-2.0.9 2008 года !…
2. Привет, Хамарбайз, спасибо за ваш ответ. Я обновил pom.xml которые мы используем. Можете ли вы проверить, изменим ли мы pom.xml будут ли использоваться новейшие библиотеки? maven-core-.2.0.0.jar имеет уязвимость в системе безопасности, поэтому мы хотим использовать последнюю версию библиотеки
3. Я вижу только, что вы используете плагины maven (как обычно). Я бы использовал версию 3.0.0 maven-enforce-plugin и, возможно, самую последнюю версию maven-compiler-plugin (3.8.1 maven.apache.org/plugins /) … Я не уверен, что ваш сканер сканирует только зависимости вашего приложения?
4. ПРИВЕТ, Хмарбайс, еще раз спасибо за ваш ответ. Я обновил все плагины до последней версии, но все же maven-core-2.0.9.jar используется для строительства !!
5. Указали ли вы все плагины, которые вы используете, потому что в сообщении их ограниченное количество. Например, maven-resources-plugin, maven-install-plugin отсутствует?