"cannot find symbol" 在终端中编译 java 文件时出错
"cannot find symbol" error when compiling java file in Terminal
在处理项目时,我尝试在终端中编译我的 java 文件,但出现错误 "cannot find symbol"。我通常在 Eclipse 的 IDE 中编译和 运行 我的代码,所以这是我第一次使用终端。当我尝试创建写在同一文件夹中的 class 实例时,似乎出现了错误。
MainPanel.java:30: error: cannot find symbol
static Player p1 = new Player( 30, 245, 0 );
^
symbol: class Player
location: class MainPanel
我该如何解决这个问题?谢谢!
当您的 Java 项目超过 3 个文件并且您使用外部库时,最好让您的 IDE 甚至构建工具,如 Maven (https://maven.apache.org/ ) 为您处理编译。我建议你现在切换到那些而不是手动编译。
但是现在,先尝试编译 Player
然后 MainPanel
class 这样
javac Player.java MainPanel.java
或者当您有多个 class 相互依赖时,这也应该有效
javac *.java
如果您想知道问题出在哪里,那是您的 MainPanel class 使用了播放器 class,因此 Java 编译器需要编译并注意播放器class 首先才能编译 MainPanel。但是你可能还没有编译 Player class 所以编译器抛出了那个错误。
在处理项目时,我尝试在终端中编译我的 java 文件,但出现错误 "cannot find symbol"。我通常在 Eclipse 的 IDE 中编译和 运行 我的代码,所以这是我第一次使用终端。当我尝试创建写在同一文件夹中的 class 实例时,似乎出现了错误。
MainPanel.java:30: error: cannot find symbol
static Player p1 = new Player( 30, 245, 0 );
^
symbol: class Player
location: class MainPanel
我该如何解决这个问题?谢谢!
当您的 Java 项目超过 3 个文件并且您使用外部库时,最好让您的 IDE 甚至构建工具,如 Maven (https://maven.apache.org/ ) 为您处理编译。我建议你现在切换到那些而不是手动编译。
但是现在,先尝试编译 Player
然后 MainPanel
class 这样
javac Player.java MainPanel.java
或者当您有多个 class 相互依赖时,这也应该有效
javac *.java
如果您想知道问题出在哪里,那是您的 MainPanel class 使用了播放器 class,因此 Java 编译器需要编译并注意播放器class 首先才能编译 MainPanel。但是你可能还没有编译 Player class 所以编译器抛出了那个错误。