如何确定eclipse用于启动java程序的命令字符串?

时间:2011-12-01 15:54:40

标签: java eclipse classpath

我有一个简单的java程序,socket,AWT和jUnit依赖。

我在eclipse中构建它,当我从eclipse运行/调试它时,它可以工作。

当我从命令行启动它时,我收到一条错误

Exception in thread "main" java.lang.NoClassDefFoundError

我猜这是因为没有在类路径中找到所需的依赖项之一。

鉴于从eclipse启动工作,有没有办法确定eclipse用于启动同一程序的命令行?

3 个答案:

答案 0 :(得分:13)

当您尝试通过命令行运行时,看起来您的类路径未正确设置。您可以通过执行以下操作轻松导出Eclipse使用的命令:

  1. 运行您的应用程序并转到Debug透视图
  2. 在流程查看器中,应该有一个您刚执行的应用的条目
  3. 右键单击提及java.exe或javaw.exe
  4. 的行
  5. 选择属性
  6. 在弹出的对话框中,您将看到包含所有类路径条目和参数的命令行

答案 1 :(得分:1)

Eclipse将使用的类路径应该在项目的属性对话框中可见...

或者,在类Unix系统上,您可以使用(Linux / Fedora)ps axww | grep java之类的东西来欺骗实际的命令行。

在Linux上,具体而言,/proc/ pid /cmdline将提供整个命令行(使用'\ 0'字符进行拆分,因此它可能看起来是一起运行的您只需cat该文件)和/proc/ pid /environ将显示环境变量,如果您还需要查看它们。 (例如CLASSPATH环境变量)

答案 2 :(得分:1)

你在这里问了两个不同的问题。

您可以通过右键单击项目名称来检查Java项目的类路径,然后左键单击底部的“属性”选项。

在Properties对话框中,左键单击Java Build Path将显示构建路径对话框。

如果要确定Eclipse命令行字符串,请查看“运行配置”。在菜单上,左键单击Run,然后左键单击Run Configurations。在Java Application下,您应该找到项目的运行配置。 Arguments选项卡显示Eclipse如何启动Java项目。