如何在macOS命令行运行Java程序?

环境准备:确认 JDK 安装

  1. 检查 JDK 安装
    打开终端(Terminal),输入:

    java -version
    • 若显示版本号(如 openjdk 17.0.8),说明已安装。
    • 若提示 command not found,需安装 JDK。
  2. 安装 JDK(未安装时)

    • 推荐方式:通过 Homebrew 安装:
      brew install openjdk@17  # 安装 OpenJDK 17(可替换其他版本号)
    • 官方下载:访问 Oracle JDK 官网 下载安装包。
  3. 配置环境变量(可选)
    若使用 Homebrew 安装,需添加路径到 ~/.zshrc(或 ~/.bashrc):

    echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc

编写 Java 程序

  1. 创建示例文件 HelloWorld.java
    nano HelloWorld.java  # 使用终端文本编辑器
  2. 输入以下代码:
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, Command Line!");
        }
    }

    保存并退出(Ctrl + OEnterCtrl + X)。


编译与运行

  1. 编译程序
    在终端进入文件目录,执行:

    javac HelloWorld.java
    • 成功后会生成 HelloWorld.class 字节码文件。
    • 报错处理:检查代码语法或路径是否正确。
  2. 运行程序
    输入:

    java HelloWorld

    注意

    • 使用类名 HelloWorld不含 .class 后缀)。
    • 若提示 类找不到,检查类名拼写或包路径。

进阶场景处理

  1. 带包名的程序
    若代码声明包 com.example

    package com.example;
    public class HelloWorld { ... }
    • 需创建目录结构:mkdir -p com/example
    • 移动文件:mv HelloWorld.java com/example/
    • 编译:javac com/example/HelloWorld.java
    • 运行:java com.example.HelloWorld
  2. 外部 JAR 依赖
    使用 -cp 指定类路径:

    java -cp .:libs/gson-2.10.jar MyApp  # 加载当前目录和 libs/gson.jar
  3. 传递命令行参数
    在代码中通过 args[] 获取参数:

    java HelloWorld "参数1" 参数2

常见问题解决

  • 错误:javac: command not found
    JDK 未安装或环境变量未配置(参考第一步)。

  • 错误:主类找不到

    • 类名拼写错误(区分大小写)。
    • 未在包路径的根目录执行(带包名程序需从根目录运行)。
  • 错误:不支持的类文件版本
    编译版本高于运行环境(如用 JDK 17 编译但用 JDK 11 运行),需统一版本。


最佳实践建议

  1. 使用 IDE 辅助:如 IntelliJ IDEA 或 VS Code,简化编译流程。
  2. 构建工具:复杂项目用 Maven/Gradle 管理依赖和构建。
  3. 版本管理:通过 jenv 工具切换多版本 JDK。

引用说明

  • Oracle 官方文档:Java SE Documentation
  • Homebrew 安装指南:brew.sh
  • OpenJDK 下载:Adoptium JDK 基于 macOS Ventura 13.x 及 Java 17 验证,适用于主流 Intel/Apple Silicon 机型。*

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8999.html

(0)
酷番叔酷番叔
上一篇 2025年7月28日 08:23
下一篇 2025年7月28日 08:50

相关推荐

  • 揭秘国内无法访问网站的秘密,哪些网站被屏蔽?

    国内不能访问的网站通常指因中国法律法规及网络管理政策而被防火墙(GFW)屏蔽的境外互联网平台,这些网站主要包括Google、YouTube、Facebook、Twitter(X)、Instagram、Wikipedia(部分维基百科页面存在访问波动)以及部分国际新闻媒体和流媒体服务,这些网站无法访问的根本原因在……

    2026年2月24日
    2200
  • Linux删文件如何避免误操作?

    核心删除命令详解rm 命令(最常用)基础语法:rm [选项] 文件名关键选项:-f:强制删除(无确认提示)-i:交互式删除(推荐新手使用)-r 或 -R:递归删除目录及内容-v:显示删除详情示例: rm file.txt # 删除单个文件rm -r my_folder # 递归删除目录(含所有子文件)rm -i……

    2025年7月18日
    12700
  • 如何有效保护axb号码隐私不被泄露?

    在数字通信高度发达的今天,个人隐私保护已成为公众关注的核心议题,其中电话号码作为最基础的个人身份标识,其隐私安全直接关系到用户的财产与人身安全,AXB号码隐私保护技术作为一种有效的通信隐私解决方案,通过虚拟号码中间层实现主叫与被叫号码的隔离,在保护用户隐私的同时保障通信效率,但其应用过程中仍面临多重风险与挑战……

    2025年11月3日
    9900
  • 国内主流云主机哪家强?比较评测大揭秘!

    阿里云、腾讯云、华为云是主流,性能稳定,适合不同规模业务需求。

    2026年2月21日
    2700
  • Ghost命令行工具如何快速备份系统?

    在Windows环境下,使用命令提示符将ISO文件直接转换为Ghost镜像(.GHO格式)无法一步完成,因为ISO是光盘镜像格式,而Ghost是磁盘/分区备份格式,但可通过以下步骤间接实现,核心思路是将ISO内容部署到硬盘分区,再用Ghost备份该分区,以下是详细操作流程:虚拟光驱软件(如Windows自带挂载……

    2025年7月23日
    12100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信