Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定eclipse用于启动java程序的命令字符串?_Java_Eclipse_Classpath - Fatal编程技术网

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

如何确定eclipse用于启动java程序的命令字符串?,java,eclipse,classpath,Java,Eclipse,Classpath,我有一个简单的java程序、套接字、AWT和jUnit依赖项 我在eclipse中构建了它,当我从eclipse运行/调试它时,它就可以工作了 当我从命令行启动它时,我得到一个错误 Exception in thread "main" java.lang.NoClassDefFoundError 我猜这是因为在类路径中找不到一个必需的依赖项 考虑到从eclipse启动可以工作,有没有办法确定eclipse使用什么命令行来启动同一个程序?eclipse将使用的类路径应该在项目的“属性”对话框中可

我有一个简单的java程序、套接字、AWT和jUnit依赖项

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

当我从命令行启动它时,我得到一个错误

Exception in thread "main" java.lang.NoClassDefFoundError
我猜这是因为在类路径中找不到一个必需的依赖项


考虑到从eclipse启动可以工作,有没有办法确定eclipse使用什么命令行来启动同一个程序?

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

或者,在类似Unix的系统上,您可以使用(Linux/Fedora)
ps-axww | grep-java
之类的工具进行欺骗,以查看实际的命令行


具体地说,在Linux上,
/proc/
pid
/cmdline
将给出整个命令行(用“\0”字符分割,因此如果您只是
cat
文件,它看起来可能会一起运行,
/proc/
pid
/environment
也将显示环境变量,如果您需要查看它们的话。(例如,
类路径
环境变量)

当您试图通过命令行运行时,类路径的设置似乎不正确。通过执行以下操作,可以轻松导出Eclipse使用的命令:

  • 运行应用程序并转到调试透视图
  • 在process viewer中,应该有您刚刚执行的应用程序的条目
  • 右键单击提及java.exe或javaw.exe的行
  • 选择属性
  • 在弹出的对话框中,您将看到包含所有类路径条目和参数的命令行

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

    通过右键单击项目名称,左键单击底部的属性选项,可以检查Java项目的类路径

    在Properties对话框中,左键单击Java构建路径将打开构建路径对话框


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

    如何从命令行启动它
    java-jarmyjar
    或者干脆
    javamyclass
    ?您运行在什么平台上?您看过Eclipse项目中的依赖项列表了吗?在命令行上调用java程序时,您应该指定相同的依赖项列表。在项目的生成路径设置中定义的命令行上,您需要相同的依赖项(减去仅编译时的要求)。您能解释什么是process viewer吗?我查看了Windows任务管理器,但没有看到命令行当您在Eclipse调试透视图中时,将出现一个名为“Debug”的视图,显示进程树(整个应用程序将有一个根目录,在该根目录下,它将显示应用程序中所有正在运行的线程)。如果您没有看到该面板,那么在调试透视图中,在eclipse中选择“窗口”,然后选择“显示视图”,然后选择“调试”。啊,您是对的!我几乎可以一字不差地把它复制到命令行。谢谢感谢您提供的有关获取任何linux进程的命令行的提示,我以前不知道这一点。如果您只是在shell中翻找,您可以
    cat-v/proc/$PID/cmdline
    '\0'
    字符视为“
    ^@
    ”字符串,这样更容易理解。