项目中需要用到一些第三方的 jar 包,在 IEDA 里面运行没有问题。
然后按照 http://bglmmz.iteye.com/blog/2058785 里面的做法, 打包成了 jar 包,在 Windows 下运行没有问题。
但是将 lib 文件夹和 jar 包上传到 Linux 服务器时,就会报错:
Exception in thread "main" java.lang.NoClassDefFoundError.
Caused by: java.lang.ClassNotFoundException: weka.core.SerializationHelper
看上去是因为入口程序没有找到第三方 jar 包的原因。
但是为什么呀,大家有没有好的解决思路和方法?
谢谢!
1
mringg 2016-01-24 18:13:11 +08:00 via Android
问题已经很明确了。。。。
|
2
mringg 2016-01-24 18:13:58 +08:00 via Android
weka 这个包没打进去
|
3
wucao219101 2016-01-24 18:24:26 +08:00 via iPad
解压一下看一看包中有没有依赖包在,很可能没打进去。另外更建议用 Maven 插件打 jar 包: http://xxgblog.com/2015/08/07/maven-create-executable-jar/
|
4
publicAdmin 2016-01-24 18:46:54 +08:00
linux 下有个 jdk 的包和 windows 下不一致,需要手动创建软链接让环境变量找到,并识别.
|
5
reeco 2016-01-24 19:12:53 +08:00
用 maven 将全部依赖打成一个包就好了
|
6
xcaspar 2016-01-24 19:14:59 +08:00
java -cp . -jar xxx.jar 试试
|
7
li24361 2016-01-24 20:19:33 +08:00
fat jar
|