2013-04-26 64 views
0

我有一个问题,我知道这里已经问了很多,但我之前找到的所有帖子(我发现很多)并不适合我。NoClassDefFoundError当运行程序

我有一个基本的Java程序,我已经上传到服务器。当我通过SSH登录到服务器时,.java文件位于我的主目录中。我在服务器上编译它并确认生成了.class文件。

但是当我尝试使用

java <program name> 

运行的程序它给我的错误。

我试过了什么?

  • 创建具有这两个文件的子目录中它
  • 与包名调用程序(即Java的packagename.programname)
  • 编译它关闭的服务器,然后在
  • 明确设置都转移使用-cp

真的很奇怪的是,我拿了另一个程序,并且能够编译并运行它没有问题,即使它本质上是相同的程序(我复制并粘贴到我的部分)。

如果需要的话,我可以在这里包含代码的一部分,但我需要准确地告诉需要哪些部分,因为有很多行。

+1

大部分时间NoClassDefErrors是由于类路径问题,似乎需要的类/ jar文件不在路径中。 – kosa 2013-04-26 22:47:41

+0

我不认为把'.java'文件保存在服务器上是个好主意。为什么不''.jar'? – Smit 2013-04-26 22:53:55

+0

当我早些时候尝试.jar时,程序将运行,但不会正确执行部分。所以这就是为什么我转移到只执行服务器上的java文件。 我不知道为什么所需的类文件不会在那里。它们是在我运行javac时生成的,所以除非这样做不正确,否则我不这么认为。 – monkeeman 2013-04-26 22:58:43

回答

0

当遇到类路径问题或类/ jar文件版本不一致时,请尝试使用JWhich

相关问题