所以我对通过命令行运行代码是完全陌生的(我习惯于使用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 有关。有人能帮我吗?
1条答案
按热度按时间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;