CMD命令行编译运行单个java文件

2017-05-15  本文已影响0人  回忆之秋

java文件中不含包名

这种情况比较简单

public class NoPackage{
    public static void main(String[] args){
        System.out.println("No package:");
        System.out.println("current direction(cmdJava)");
        System.out.println("javac NoPackage.java");
        System.out.println("java NoPackage");
    }
}

编译
javac NoPackage.java;
运行
java NoPackage

pic1.png

注意,编译时没有.java后缀的话,会报错误: 仅当显式请求注释处理时才接受类名称 'NoPackage'
1 个错误

erro1.png

注意:运行时多了.class后缀的话会报错误: 找不到或无法加载主类 NoPackage.class

error2.png

Java文件中含包名的话

这种情况容易出错,我们需要建立相关文件夹模拟包路径
我在cmdJava文件里需要新建site/yourdiary(嵌套文件夹)对应包路径,然后将java文件放在对应包路径的文件夹中
编译:javac site/yourdiary/HasPackage.java
运行:java site.yourdiary.HasPackage

package site.yourdiary;

public class HasPackage{
   public static void main(String[] args){
       System.out.println("has package:");
       System.out.println("current direction(cmdJava)");
       System.out.println("HasPackage.java is in cmdJava/site/yourdiary");
       System.out.println("javac site/yourdiary/HasPackage.java");
       System.out.println("java site.yourdiary.HasPackage");
   }
}
pic2.png

注意:要把site/yourdiary像包一样对待,不要像没有包文件一样,直接编译运行,否则会出现编译成功了,但运行不成功;因为包路径对应着文件夹路径
package site.yourdiary
运行class文件夹时,会从当前路径出发找包路径对应的文件夹路径site/yourdiay路径加载执行里面的class文件。

图片.png

常见错误

字符编码错误.png

通常我们会将编译器调整为utf-8的编码集,而系统默认是GBK,当代码文件中有中文是就会报错,所以我们在命令行中编译的时候要指定编码集 如:

javac -encoding utf-8 site/yourdiary/demo4/HeapAlloc.java

总结:现在主要都是用IDEA和Eclipse这样的IDE中编写运行java文件了,很方便,
但是,有时需要命令行操作,我是因为编写的java文件 需要从命令行读入一段文字
段落的终止符在CMD命令行中crtl+z能实现。

上一篇下一篇

猜你喜欢

热点阅读