问题:创建了Java项目之后,写了helloworld后,在eclipse上能正常运行。但在控制台上编译运行这段代码,发现可以成功编译但是运行报错
-
项目结构
代码
package Demo;
public class Demo01 {
public static void main(String[] args) {
System.out.println("hello");
}
}
-
报错
-
原因
放在package下的文件,编译方式跟直接建立一个java文件的方式略微差异,编译后,是放在java文件中写的package语句的包名下的,例如:- 本文中的package语句为:
package Demo;
,编译后,class文件是放在Demo文件夹下的 - 如果package语句为
com.bjpowernode.exam;
,编译后,class文件是放在com/bjpowernode/exam
下的
- 本文中的package语句为:
- 解决办法
- 方法一:
- 编译:
javac -d . 被编译的java文件名
- javac:负责编译的命令
- -d:带包编译
- . :代表编译后生成的东西放在当前目录下
- 运行:在包名的上一级目录下运行
java 完整类名(包名.类名)
- 编译:
- 方法二:直接使用
java xxx.java
- 方法一:
- 不使用package,直接建立java文件编译运行的形式
语法:java 类名