在idea上可运行,在服务器上运行其jar包报错
希望能正常运行
出现该问题的常见原因及解决方法如下:
maven-assembly-plugin
或maven-shade-plugin
正确打包了所有依赖jar tvf your.jar | grep .class
确认依赖类存在java -jar your.jar
时观察NoClassDefFoundError的具体提示java -version
对比本地和服务器的输出<maven.compiler.target>1.8</maven.compiler.target>
getResourceAsStream()
代替File路径访问资源Maven配置示例:
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
<arg>-Dfile.encoding=UTF-8</arg>
排查步骤建议:
java -version
jar tf your.jar
java -jar your.jar 2>&1 | tee error.log
ldd
命令检查native依赖(如果涉及JNI)请提供具体的错误信息(如ClassNotFoundException内容),可以更精准定位问题原因。
15 回答8.3k 阅读
8 回答6.1k 阅读
1 回答4k 阅读✓ 已解决
3 回答5.9k 阅读
3 回答2.1k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读