我想编译我的java类:javac ResultSet.java
但是我收到以下错误:
ResultSet.java:5: error: package data does not exist
import data.Spieler;
^
ResultSet.java:8: error: cannot find symbol
private ArrayList<Spieler> meineSpieler = new ArrayList<Spieler>();
^
symbol: class Spieler
location: class ResultSet
ResultSet.java:12: error: cannot find symbol
public native Spieler[] getSpieler();
^
symbol: class Spieler
location: class ResultSet
ResultSet.java:18: error: cannot find symbol
public ArrayList<Spieler> getMeineSpieler() {
^
symbol: class Spieler
location: class ResultSet
ResultSet.java:8: error: cannot find symbol
private ArrayList<Spieler> meineSpieler = new ArrayList<Spieler>();
^
symbol: class Spieler
location: class ResultSet
如何导入spieler
课程?我应该设置类路径还是有其他方法来修复它?
答案 0 :(得分:1)
进入一个目录,然后使用
进行编译javac data/JNIResultSet.java
<强>更新强>
好的,您的班级JNIResultSet
位于包model
中,并使用包data
中的其他类。
然后你的编译命令应该如下:
javac -cp . model/JNIResultSet.java
-cp .
部分表示您的类路径包含当前目录。这是包层次结构的根。因此编译器可以在包data
中找到* .java文件,并根据需要编译它们。
你知道,这可能非常复杂。对于更多的课程,这几乎是无法管理的。所以你应该考虑使用像Ant,Maven或Gradle这样的构建系统。
答案 1 :(得分:1)
在将文件编译为
时使用 -classpath
javac -classpath <path-to-dependent-classes> JNIResultSet.java
仅当Spieler
不在类路径上时才需要
有关更多帮助,请参阅javac oracle documentation