Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
导入自定义java文件_Java - Fatal编程技术网

导入自定义java文件

导入自定义java文件,java,Java,我目前正试图阅读一些我在网上找到的Java源代码来学习这些材料。我想先编译这些文件,以确保它们在我研究之前能够正常工作。但是,当我尝试编译时,编译器抱怨它找不到需要导入的某些文件。打开main.java,我发现 package br.com.seimos.minijava; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import jav

我目前正试图阅读一些我在网上找到的Java源代码来学习这些材料。我想先编译这些文件,以确保它们在我研究之前能够正常工作。但是,当我尝试编译时,编译器抱怨它找不到需要导入的某些文件。打开main.java,我发现

 package br.com.seimos.minijava;

 import java.io.BufferedReader;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.util.ArrayList;

 import br.com.seimos.minijava.parser.MiniJavaParser;
 import br.com.seimos.minijava.syntaxtree.Program;
 import br.com.seimos.minijava.visitor.TreeDumper;
 import br.com.seimos.minijava.visitor.TreeFormatter;
我遇到的错误来自于找不到
MiniJavaParser
TreeDumper
…第三段代码。这些文件与主文件位于同一目录中,那么发生了什么?什么是
br.com.seimos.minijava
东西?我试着把文件放在那些文件夹中(如
br\com\seimos\minijava\PUT\u files\u HERE
),但仍然没有效果。
br
是否需要位于根目录中


谢谢,我意识到这可能是一个非常基本的问题…

对于
import br.com.seimos.minijava.parser.MiniJavaParser
您的
MiniJavaParser
类必须位于
br\com\seimos\minijava\parser\
目录下,而不是
br\com\seimos\minijava\
目录下。对于其他类也是如此。试着改变它。

你走对了方向。您需要将这些文件放入
br/com/seimos/minijava/…
中,如每个文件的包名所示。Java要求将文件放在与其包名匹配的目录层次结构中

然后,您需要使用如下命令进行编译:

javac br/com/seimos/minijava/parser/MiniJavaParser.java

这对于命令行来说有点不方便,尤其是对于一个较大的项目,因此您最好使用Java IDE并让它帮助您安排文件。

所需的目录结构是
br/com/seimos/minijava/OTHER\u FOLDERS/SOURCE\u files.Java
。例如,
MiniJavaParser
的路径应该是
br/com/seimos/minijava/parser/MiniJavaParser.java
。然后,您应该从
br
的父目录运行Java编译器


如果您使用的是Eclipse或其他IDE,您应该配置您的项目设置来处理此问题。

您是否在MiniJavaParser等中指定了该软件包?对不起,您能详细说明一下吗?我对Java比较陌生…在MiniJavaParser中,您是否指定,
package br.com.seimos.minijava.parser
Ohhh,所以您是说我们必须在编译
Main.Java
之前先单独编译所有包?是的,编译器需要在编译Main之前了解其他包的内容。再说一次,IDE可能会有所帮助。别担心!我所要做的就是更改运行
javac
的位置(需要在
br
的父目录中运行它。谢谢!~谢谢!我必须更改运行
javac
的位置(我从
minijava
目录(其中
main.java
是)运行它)。非常感谢~