java:编译时找不到符号

swvgeqrz  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(529)

所以我对通过命令行运行代码是完全陌生的(我习惯于使用eclipse)。当我使用不同的包时,我想不出编译类的解决方案。
这是我的第一堂课(greetingsuniverse.java):

package com.ocajexam.tutorial;
import com.ocajexam.tutorial.*;

public class GreetingsUniverse {
    public static void main(String[] args) {
        System.out.println("Greetings, Universe!");
        Earth e = new Earth();
    }
}

第二类(earth.java):

package com.ocajexam.tutorial.planets;
public class Earth {
    public Earth() {
    System.out.println("Hello from Earth!");
    }
}

我试着把它整理如下:

javac -d . Earth.java

它在com/ocajexam/tutorial/planets中创建了一个地球类文件。
然后,当我尝试:

javac -d . GreetingsUniverse.java

我收到以下错误消息:

GreetingsUniverse.java:9: error: cannot find symbol
                Earth e = new Earth();
                ^
  symbol:   class Earth
  location: class GreetingsUniverse
GreetingsUniverse.java:9: error: cannot find symbol
                Earth e = new Earth();
                          ^
  symbol:   class Earth
  location: class GreetingsUniverse
2 errors

我也试着省略-d和其他东西,但总是得到同样的错误。我想这和不同的 Package 有关。有人能帮我吗?

pokxtpni

pokxtpni1#

班级 Earth 在包裹里 com.ocajexam.tutorial.planets 但在你的进口 GreetingsUniverse 您正在导入 com.ocajexam.tutorial.* ,这不会导入类 Earth 为你。所以改变吧 import com.ocajexam.tutorial.*; 要么 import com.ocajexam.tutorial.planets.*; 或者 import com.ocajexam.tutorial.planets.Earth;

相关问题