ClassNotFoundException: ... MainifestResourceTransformer
配置中 implementation 屬性值拼寫錯誤:
<transformer implementation="org.apache.maven.plugins.shade.resource.**Mainifest**ResourceTransformer">
正確類名:**Manifest**(兩個 n)**ResourceTransformer**。少寫一個 `n` 導致類加載失敗。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.4.1</version> <!-- 建議升級新版 -->
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.**Manifest**ResourceTransformer">
<mainClass>xx.xxx.xxx.hellomaven.App</mainClass>
</transformer>
</transformers>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals><goal>shade</goal></goals>
</execution>
</executions>
</plugin>
maven-compiler-plugin 版本由父 POM 或默認值決定,非 Shade 問題。mvn clean package
java -jar target/hello-maven-1.0-SNAPSHOT.jar
# 應正常啟動主類
一字之差導致類找不到,Maven 插件配置對大小寫、拼寫極度敏感,仔細核對官方文檔類名。