Мое приложение с несколькими банками работает в Java 11 и показывает предупреждение, связанное с Log4j2:
ПРЕДУПРЕЖДЕНИЕ: sun.reflect.Reflection.getCallerClass не поддерживается. Это повлияет на производительность.
Это не имеет значения sh, но довольно беспокоит меня, так как команда по операциям (монитор AppDynamics) спросила меня об этом. Я прочитал, что мне нужно использовать запись «Multi-Release: true» в манифесте, но я не знаю, как сказать плагину Maven Assembly добавить его.
Я не использую другие плагин в пом. xml. Должен ли я использовать Maven Shade Plugin вместо этого?
В любом случае, вот раздел Maven Assembly Plugin моего pom. xml.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Библиотека I ' В том числе (что я также написал) в качестве зависимости используется Log4j 2, как показано ниже:
<!-- Log4j 2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
Как мне избавиться от этого предупреждения?