Maven 发布后运行 NoClassDefFoundError 问题的解决办法
🏷️ Maven
添加的 jar 包引用在生成的 jar 文件的 META-INF
文件的 Class-Path
项里没有。
通过在 POM 文件中添加 manifestEntries
属性手动指定引用。
xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.cotopus.server.Application</mainClass>
</manifest>
<manifestEntries>
<Class-Path>lib/commons-codec-1.3.jar lib/commons-httpclient-3.1.jar</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>