查看原文
其他

cmd命令行 编译Java 文件

如影随行 极客创享会 2019-07-14


【问题引入】

很多时候,需要用到命令行来进行Java文件的编译。在用习惯了IDE 可能会不清楚如何在cmd命令行窗口进行编译,简单的都还好,带有包路径的可能会让很多人觉得有点小头疼。最近试了一下,发现了问题,就研究整理了一下记录吧。


【注1】环境准备, JDK,classpath 都需要配置正确。

【注2】基本的编译命令

    javac  ClassName.java  --- 编译Java文件,生成ClassName.class 文件

    java  ClassName           --- 执行编译后的class 文件


以下主要分为两种说明:

一、最简单的类,仅包含main函数

public class Demo{

public static void main(String[] args) {

System.out.println("Hello world!");

}

 }

因为就是单纯的Java文件格式,直接执行编译和执行命令即可。如下图所示:


二、带有包的文件编译,如工程下的某个Java 文件

【注1】由于Java 文件中有package xxx,即包的信息,因此在执行编译后的Java 文件时就需要带上包名。

即格式:  包名.Java文件名


//示例如下:

package pkg;


 public class Demo{

public static void main(String[] args) {

for(int i=0; i<args.length; i++){

System.out.println(i==0 ? args[i] : " " + args[i]);

}

System.out.println("Hello world!");

}

 }


该情况的编译方法如下:

方式一:cmd,找到文件所在目录,输入以下命令

(后面是空白,不报错一般就是编译成功了)

--参数说明

-d 后面跟目录,表示将javac 命令编译后生成的 class文件的存放路径。 "."表示当前目录

-encoding UTF-8 ,如果需要修改文件的编码,则添加 -encoding 参数,后面接编码格式


1)执行上述命令后结果如下

(在当前路径下生成demo文件夹,对于工程里的包名,文件夹下是编译后的class文件)

2)编译完成后,执行如下命令

-- 参数说明

java 命令 + 包名.类名 + 接收的参数


3)结果如下



方式二:

cmd,找到文件所在目录,直接输入编译命令

1)执行后,发现当前demo 路径下,生成 Test.class文件

2)之后要执行 java命令,但要注意执行的格式: 包名+类名。所以此时需要将目录退回上一层

3)执行后的结果如下:

【注】如果没有退回上一层目录,无论是直接执行  java Test 还是  java demo.Test 或其他格式都会报错


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存