当前位置: 首页 > 面试题库 >

从命令行运行Java程序

漆雕奇
2023-03-14
问题内容

所以我在这里有一个菜鸟般的时刻,我以前从未使用过命令行来运行Java程序,但现在我需要。我遇到的问题是,当我尝试运行程序时,出现ClassNotFoundException。我的课叫做OmadUpdate。我已经使用javac命令将OmadUpdate.java文件编译为OmadUpdate.class。我已经检查了目录,并且它们都绝对存在,但是当我运行java
OmadUpdate命令时,它给了我一条错误消息,提示

Exception in thread "main" java.lang.NoClassDefFoundError: OmadUpdate (wrong name:     org/openmetadata/main/OmadUpdate)
......
......
Could not find the main class: OmadUpdate. Program will exit

但是它在目录中。当我键入dir时,我同时拥有OmadUpdate.class和OmadUpdate.java。我什至尝试使用“ java
org.openmetadata.main.OmadUpdate”,因为这是它所在的包名称。我很沮丧。感谢您的协助。


问题答案:

您的课程似乎已在org.openmetadata.main包中声明。

为了使Java正确加载该类,它必须位于与包结构匹配的正确目录结构中。

因此,的类文件org.openmetadata.main.OmadUpdate应该在目录中org\openmetadata\main

然后,当您运行java命令时,此目录结构的根目录应位于类路径上-对于一个简单的示例,这仅意味着您的当前目录应为的父目录
org\openmetadata\main

运行时,java您需要使用句号而不是斜杠来指定完整的类名,即

java org.openmetadata.main.OmadUpdate


 类似资料:
  • 我下载了一个java程序,它由两个文件夹src和classes组成,分别包含源文件和类文件。现在,src和classes文件夹包含几个嵌套的子文件夹,其中最后一个子文件夹分别包含源文件和类文件。更准确地说,源文件和类文件的路径是src/edu/univ/。java和classes/edu/univ/。班假设包含main函数的文件是main。java,如何从命令行运行此程序。 我尝试过: 我也尝试过

  • 问题内容: 我对Java的经验不是很丰富,这使我发疯。我编写了一个Java程序,需要从命令行运行它。 我可以从命令行编译它,它将在该文件夹中创建所有类,但是当我尝试时说: 线程“主”中的异常java.lang.NoClassDefFoundError:FileManagement / Main 事实是,我已经在远程计算机上尝试了相同的过程,并且工作正常。它不适用于我的。 问题答案: 如果您的课程在

  • 问题内容: 到目前为止,我主要使用eclipse。现在,我正在尝试从终端运行Java,但程序包存在问题。 这是我的文件: 我使用编译此代码,然后运行,它给我: 当我删除一切正常。我想念什么? 给出: 问题答案: 您需要在一个目录级别上运行java命令,并以完全合格的软件包名称提供它,例如: 请参阅Java Launcher如何查找用户类 以了解其工作方式。

  • 我在从命令行运行一个java程序时遇到了严重的麻烦。我觉得我已经接近弄清楚哪里出了问题,但我只是不知所措,我需要帮助。 我正在尝试用以下命令运行一个简单的Hello World程序(在windows上的VSCode中,使用bash terminal): 这根本不起作用,但是,写入文件的完整路径确实起作用,所以像这样的东西是起作用的。 此外,使用F5运行文件也可以正常工作。我希望用命令行参数运行我的

  • 问题内容: 如何在我的Java程序中运行MS-DOS命令? 问题答案: 如何从Java运行命令行或执行外部应用程序:

  • 问题内容: 我在一个应用程序上工作,但有一个关于从Java应用程序运行shell命令的问题。这是代码: 但是当我尝试执行命令时: myapp读取 为两个单独的参数。但是我只想读取一个参数。 当我直接从终端运行此命令时,它执行成功。 我试过,, 但对我没有工作。我如何才能将此参数作为一个参数读取。 问题答案: 我记得exec方法的重载分别为参数提供了一个参数。你需要用那个 对。就这个 只需将命令行和