javac HelloWorld.java
,成功编译后生成.class字节码文件,再通过java HelloWorld
运行程序,注意文件名需与类名一致。准备工作:安装JDK并配置环境变量
-
下载JDK
访问Oracle官网或OpenJDK,下载与操作系统匹配的JDK版本(推荐JDK 11+)。 -
配置环境变量
- Windows
- 安装JDK后,打开
控制面板 > 系统 > 高级系统设置 > 环境变量
。 - 在
系统变量
中新建:- 变量名:
JAVA_HOME
- 变量值:JDK安装路径(如
C:Program FilesJavajdk-21
)
- 变量名:
- 编辑
Path
变量,新增两项:%JAVA_HOME%bin
%JAVA_HOME%jrebin
- 安装JDK后,打开
- macOS/Linux
编辑~/.bashrc
或~/.zshrc
文件,添加:export JAVA_HOME=/usr/lib/jvm/jdk-21 # 替换为实际路径 export PATH=$JAVA_HOME/bin:$PATH
执行
source ~/.bashrc
使配置生效。
- Windows
-
验证安装
打开命令行,输入以下命令:java -version javac -version
若显示版本号(如
java 21.0.1
),则配置成功。
编译并运行Java程序
示例1:基础单文件程序
-
编写Java代码
创建文件HelloWorld.java
如下:public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Command Line!"); } }
-
编译程序
打开命令行,进入文件所在目录,执行:javac HelloWorld.java
- 成功后会生成
HelloWorld.class
字节码文件。 - 关键选项:
-d <目录>
:指定输出目录(如javac -d ./out HelloWorld.java
)。-encoding UTF-8
:指定源码编码(避免中文乱码)。
- 成功后会生成
-
运行程序
java HelloWorld
输出结果:
Hello, Command Line!
示例2:带包名的程序
-
编写带包结构的代码
创建文件com/example/Main.java
如下:package com.example; public class Main { public static void main(String[] args) { System.out.println("Running with package!"); } }
-
编译与运行
- 编译:
javac com/example/Main.java
生成
com/example/Main.class
。 - 运行(需从根目录执行):
java com.example.Main
- 编译:
示例3:编译多个文件
假设有两个文件:
Utils.java
(工具类)App.java
(主类,依赖Utils
)
# 编译所有.java文件 javac *.java # 或指定文件 javac Utils.java App.java
常见问题解决
-
javac 未找到
或不是内部命令
- 原因:环境变量配置错误。
- 解决:重新检查
JAVA_HOME
和Path
配置。
-
找不到主类
(Error: Could not find or load main class)- 原因:
- 类名拼写错误。
- 未从包结构的根目录运行。
.class
文件不在当前目录。
- 解决:
- 使用
-classpath
指定路径:java -cp ./out com.example.Main
。
- 使用
- 原因:
-
中文乱码
- 编译时指定编码:
javac -encoding UTF-8 HelloWorld.java
- 编译时指定编码:
高级技巧
-
使用
-classpath
管理依赖
编译时指定外部JAR:javac -cp libs/gson.jar MyApp.java
-
生成文档(Javadoc)
javadoc -d docs HelloWorld.java
- 命令行编译是理解Java构建过程的核心,尤其适用于自动化脚本或服务器环境。
- 对于复杂项目,建议使用构建工具(如Maven或Gradle)管理依赖和编译流程。
- 始终验证环境变量配置,这是成功编译的前提。
引用说明参考Oracle官方文档Java SE开发指南及OpenJDK社区实践,环境变量配置部分遵循各操作系统标准规范。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/41263.html