导入自定义java文件
我目前正试图阅读一些我在网上找到的Java源代码来学习这些材料。我想先编译这些文件,以确保它们在我研究之前能够正常工作。但是,当我尝试编译时,编译器抱怨它找不到需要导入的某些文件。打开main.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
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
是)运行它)。非常感谢~