【发布时间】:2017-12-16 01:36:15
【问题描述】:
这是基本 Java 有史以来最愚蠢、最简单的问题,但我做错了什么?
在一个名为
的目录结构中com/myname/robos
- Robo.java
- Arena.java
Robo.java:
package com.myname.robos;
public class Robo {
public void fala() {
System.out.println("Gleep Beep Boop!");
}
}
Arena.java:
package com.myname.robos;
import com.myname.robos.Robo;
public class Arena {
public static void main(String[] args) {
Robo r2 = new Robo();
r2.fala();
}
}
当我尝试:
javac Robo.java
它编译。
当我尝试时
javac Arena.java
我明白了
Arena.java:3: error: cannot find symbol
import com.myname.robos.Robo;
^
symbol: class Robo
location: package com.myname.robos
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
3 errors
我知道这是目录/包等名称之间不兼容的错误。
但我仍然无法做到这一点。我应该写什么?
【问题讨论】:
-
javac com/myname/robos/Robo.java,javac com/myname/robos/Arena.java,并阅读classpath和sourcepath选项至javac。 -
我必须从路径外运行编译器?
-
您必须以保留路径的方式运行它。阅读精美手册。它记录了如何使用
javac。阅读精美手册。 -
谢谢。什么是精品手册?
-
文档。这是一个通用术语,在编程界很流行。
标签: java compiler-errors packages