不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2019-02-03 10:22:36  修改时间:2024-04-15 14:49:28  分类:Java基础  编辑

举例一:

在文件夹 /Users/wenjianbao/123/ 下,新建Java文件:HelloWorld.java,内容如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World !");
    }
}

编译 HelloWorld.java

cd /Users/wenjianbao/123/
javac HelloWorld.java

此时,会在当前目录生成字节码文件 HelloWorld.class

运行 HelloWorld.class

java HelloWorld      // 注意:(一定)不要输入扩展名 .class

输出:

Hello World !

举例二:

在文件夹 /Users/wenjianbao/123/ 下,新建Java文件:HelloWorld.java,内容如下(此时,我们给 类文件增加了包名 wen.jianbao):

package wen.jianbao;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World !");
    }
}

编译 HelloWorld.java

cd /Users/wenjianbao/123/ 
javac HelloWorld.java

运行 HelloWorld.class

java HelloWorld // 注意:(一定)不要输入扩展名 .class

输出:

错误: 找不到或无法加载主类 ..HelloWorld

好吧,报错了,,针对有包名的Java文件,如何改进呢?

如果Java文件有包名,编译的时候,需要增加命令行参数-d,表示输出目录,如下所示:

javac -d . HelloWorld.java 

会在当前目录生成文件 wen/jianbao/HelloWorld.class

目录结构如下:

$ tree .
.
|-- HelloWorld.java
`-- wen
    `-- jianbao
        `-- HelloWorld.class

2 directories, 2 files

运行编译后的文件:

java wen/jianbao/HelloWorld

输出:

Hello World !

 

相关文章:

Java命令行,编译运行多个Java文件