我在运行访问我的代码文件夹中其他文件的程序时遇到麻烦。
这里是文件结构:
这是我的文件:
package grade.util;
public class LetterGrader {
private void readArgs() {
System.out.println("Hello, read CLA!");
}
}
import grade.util.*;
public class TestLetterGrader {
public static void main(String[] args) {
LetterGrader letterGrader = new LetterGrader(); // instantiate
letterGrader.readArgs(); // call method
}
}
这是我的步骤:
编译包文件
javac -d bin -sourcepath src -cp src src/LetterGrader.java
编译访问包的辅助文件
javac -d bin -sourcepath src -cp src src/TestLetterGrader.java
这是我的错误
src/TestLetterGrader.java:3: error: package grade.util does not exist
import grade.util.*;
^
src/TestLetterGrader.java:7: error: cannot access LetterGrader
LetterGrader letterGrader = new LetterGrader(); // instantiate
^
bad source file: src/LetterGrader.java
file does not contain class LetterGrader
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
2 errors
我相信我的类路径和文件搜索位置存在问题。任何提示或指导将是伟大的!
您正在导入bin文件夹中的类。请勿这样做是行不通的。您不需要进行任何导入,因为这些类位于同一位置。将包放在src文件夹下,然后将类放在此处。删除package grade.util
并将其重命名为放置类的包。
文件结构:
src
\
\
yourpackage
\
\
LetterGrader.java TestLetterGrader.java
然后删除构建文件夹中的所有内容并编译类。 Java将使它变得神奇。您确实需要担心bin文件夹,它仅用于存储编译的类。
课程将如下所示:
//package name that you created
package yourpackage;
public class LetterGrader {
private void readArgs() {
System.out.println("Hello, read CLA!");
}
}
和
//without any import
public class TestLetterGrader {
public static void main(String[] args) {
LetterGrader letterGrader = new LetterGrader(); // instantiate
letterGrader.readArgs(); // call method
}
}