Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 - Fatal编程技术网

在另一个编辑器(不是eclipse)中编写Java应用程序

在另一个编辑器(不是eclipse)中编写Java应用程序,java,eclipse,Java,Eclipse,这似乎是一个非常简单的问题,但我找不到合适的解决方案。我在eclipse中有一个java应用程序。它由同一“默认包”中的两个类组成。我已经使用不同的编辑器逐字重写了这两个类,但是当我运行程序时,我得到了错误: Error: Could not find or load main class Test.java 我猜这是因为eclipse生成了默认包,所以当我在不同的编辑器中编写这两个类时,这并没有完成。我是否必须编写自己的包文件/文件夹?如果是,怎么做 为了给你一个更好的主意,我创建了一个根文

这似乎是一个非常简单的问题,但我找不到合适的解决方案。我在eclipse中有一个java应用程序。它由同一“默认包”中的两个类组成。我已经使用不同的编辑器逐字重写了这两个类,但是当我运行程序时,我得到了错误:

Error: Could not find or load main class Test.java
我猜这是因为eclipse生成了默认包,所以当我在不同的编辑器中编写这两个类时,这并没有完成。我是否必须编写自己的包文件/文件夹?如果是,怎么做

为了给你一个更好的主意,我创建了一个根文件夹。将my.java文件放在那里,并使用终端进行编译。它创建类文件,但不像在Eclipse中那样执行程序


如果没有进一步的信息,很难确定确切的问题,但这里有一些事情需要注意:

默认包是没有包声明的任何类。按照惯例,这些文件应放在已定义的任何源文件夹的根目录中。IDE通常必须通过某种方式进行配置,才能知道源文件夹是什么,否则它们不知道应该编译哪些文件。这可能是您的其他编辑器中缺少的内容

通过扩展,当您运行java程序时,您必须指定一个类路径。这将包含所需的所有编译的.class文件,并且将是您获得错误的原因(所需文件不在您的类路径中)。同样,IDE通常在这里做很多繁重的工作,因为一旦他们编译了您的代码(通过知道源文件夹在哪里),他们就知道.class文件被编译到哪里,并且可以自动配置您的类路径以用于类似这样的简单用例

作为一个通用指针,使用默认包被认为是相当糟糕的做法,您应该养成打包类的习惯。IDE支持在这方面通常是相当好的,因此如果您向源代码添加包声明,应该会有一个将文件移动到正确位置的提示


此外,一些实用程序(如maven)可以通过配置或约定通知IDE这些文件夹应该在哪里。对于这样的项目,IDE应该有一个导入步骤,允许它读取此配置并正确设置自己。

您可以分享编译和(尝试)所采取的确切步骤吗运行该程序?我认为该项目的类路径设置不正确。您可以添加有关您正在使用的编辑器的更多信息吗?该编辑器是Atom。我已经包括了上面的截图。