最近把JAVA版本從8升到17後,我的Log4j2就冒出了一行警告訊息:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
原因:pom.xml少了<Multi-Release>參數。
修改pom.xml,於<transformer>中加入<Multi-Release>標籤參數:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.lugia.MainApplication</mainClass>
<!-- 加入此區塊 -->
<manifestEntries>
<Multi-Release>true</Multi-Release>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
將<Multi-Release>設為true讓Log4j2知道可以用新版本的Java下去運作,以免用舊方法降低速度。
收工。
-END-
發佈留言