最近把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-
發佈留言