hadoop 中遇到的jar打包时候的小问题,注意打包的时候所处的目录

我java的程序是放在目录/MatrixCompute/bin/MR/下面的test程序的。

我最初在本地打包的时候是在/MatrixCompute/ 目录下打包,尝试了各种方法,比如jar -cf bin/ 或者 jar -cf bin/MR等,打好包后,用scp上传至服务器后,运行hadoop jar的时候,总会报错: Exception in thread "main" java.lang.NoClassDefFoundError: bin/MR/test (wrong name: MR/test)

我用jar -tf 看,发现路径没有问题。

经过各种尝试,终于在我进入/bin/目录下,用jar -cf MR来进行打包的时候,再上传后,用hadoop jar终于能够成功运行了!

我也不知道具体原因,不过我猜想可能跟服务器配置的java classpath有关?

知道的大神还请指点。

原文地址:https://www.cnblogs.com/xiaoshen555/p/3856301.html