如何在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

相关推荐

  • autofs4失败Linux如何排查解决?

    在Linux系统中,autofs4是一种用于自动挂载文件系统的实用工具,它能够根据用户访问需求动态挂载设备,并在闲置一段时间后自动卸载,从而优化系统资源,在实际使用中,autofs4可能会出现各种故障,影响文件系统的正常访问,本文将详细分析autofs4失败的常见原因、排查步骤及解决方案,帮助用户快速定位并解决……

    2025年12月11日
    4000
  • 命令李route命令怎么删除

    Linux中,可使用ip route del 目标网络/子网掩码 via 网关或`route del -net 目标网络 -netmask 子

    2025年8月18日
    8600
  • 安全中心人脸识别换绑如何确保操作安全?

    在数字化时代,人脸识别已成为各类安全中心的核心身份验证方式,广泛应用于支付、登录、实名认证等场景,当用户更换手机号、丢失设备或需要更新人脸信息时,“安全中心人脸识别换绑”操作便成为保障账户安全的关键环节,这一操作不仅关系到个人隐私保护,更直接影响账户资金与数据安全,需用户充分了解其流程、风险及注意事项,确保换绑……

    2025年10月28日
    7000
  • 安全体系咨询如何搭建?关键步骤有哪些?

    安全体系咨询如何搭建在数字化时代,企业面临的安全威胁日益复杂,从数据泄露到系统瘫痪,从网络攻击到内部威胁,安全问题已成为企业可持续发展的核心挑战,构建一套科学、完整、可落地的安全体系,成为企业保障业务连续性、保护数据资产、维护品牌声誉的关键,安全体系咨询作为专业服务,能够帮助企业从战略到执行全面梳理安全需求,设……

    2025年11月22日
    5800
  • 命令提示符操作C盘安全吗?

    在命令提示符中操作C盘需谨慎:使用cd命令导航,务必以管理员身份运行,关键操作如文件删除或修改系统文件风险极高,可能导致系统崩溃或数据丢失,操作前务必确认命令准确性并备份重要数据。

    2025年8月3日
    8600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信