【发布时间】:2013-04-26 22:46:33
【问题描述】:
我有一个问题,我知道在这里被问了很多,但是我之前找到的所有帖子(我已经找到了很多)都不适合我。
我有一个已上传到服务器的基本 Java 程序。当我通过 SSH 登录服务器时,.java 文件位于我的主目录中。我在服务器上编译,确认生成了.class文件。
但是当我尝试使用
运行程序时java <program name>
它给了我错误。
我尝试了什么?
- 创建一个包含两个文件的子目录
- 使用包名(即 java packagename.programname)调用程序
- 从服务器上编译它,然后在两者上传输
- 使用 -cp 显式设置类路径
真正奇怪的是,我采用了另一个程序,并且能够毫无问题地编译和运行它,即使它本质上是同一个程序(我复制并粘贴了一部分到我的程序中)。
如果需要,我可以在此处包含部分代码,但需要确切告知我需要哪些部分,因为有很多行。
【问题讨论】:
-
大多数时候 NoClassDefErrors 是由于类路径问题,似乎所需的类/jar 文件不在路径中。
-
我认为将
.java文件保存在服务器上并不是一个好主意。为什么不.jar? -
当我之前尝试 .jar 时,程序会运行,但不能正确执行部分。所以这就是为什么我只在服务器上执行 java 文件。我不知道为什么不存在所需的类文件。它们是在我运行 javac 时生成的,所以除非它不能正常工作,否则我认为不是这样。
-
我要做的是创建一个尽可能简单的示例来重现此问题,然后让我们查看您用来运行它的代码和命令。
-
谢谢,伙计们。我想我现在只使用
.jar方式。这意味着另一个问题......
标签: java compilation noclassdeffounderror