温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何创建java命令行界面

发布时间:2026-10-25 16:39:24 来源:亿速云 阅读:86 作者:小樊 栏目:编程语言

在 Java 中创建**命令行界面(CLI,Command Line Interface)**通常有几种方式,从最基础到更专业,下面按常见程度给你介绍。


一、最基础方式(使用 Scanner / BufferedReader)

适合初学者、简单交互程序。

示例:使用 Scanner

import java.util.Scanner;

public class CliDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入你的名字:");
        String name = scanner.nextLine();

        System.out.println("你好," + name + "!");

        scanner.close();
    }
}

运行:

javac CliDemo.java
java CliDemo

✅ 优点:简单
❌ 缺点:参数解析、帮助信息要自己写


二、使用 args 参数(无交互 CLI)

适合工具类程序。

public class ArgsDemo {
    public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("用法: java ArgsDemo <name> <age>");
            return;
        }
        System.out.println("姓名: " + args[0]);
        System.out.println("年龄: " + args[1]);
    }
}

运行:

java ArgsDemo Tom 18

三、使用 Apache Commons CLI(推荐)

适合正式命令行工具。

1. 添加依赖(Maven)

<dependency>
  <groupId>commons-cli</groupId>
  <artifactId>commons-cli</artifactId>
  <version>1.5.0</version>
</dependency>

2. 示例

import org.apache.commons.cli.*;

public class CommonsCliDemo {
    public static void main(String[] args) throws ParseException {
        Options options = new Options();
        options.addOption("n", "name", true, "你的名字");
        options.addOption("h", "help", false, "显示帮助");

        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = parser.parse(options, args);

        if (cmd.hasOption("h")) {
            new HelpFormatter().printHelp("java -jar app.jar", options);
            return;
        }

        String name = cmd.getOptionValue("n", "匿名");
        System.out.println("你好," + name);
    }
}

运行:

java -jar app.jar -n Tom
java -jar app.jar -h

✅ 自动支持 -h、--help
✅ 参数规范、易维护


四、使用 Picocli(现代推荐 ✅)

最流行、功能最强、支持颜色、子命令

Maven 依赖

<dependency>
  <groupId>info.picocli</groupId>
  <artifactId>picocli</artifactId>
  <version>4.7.5</version>
</dependency>

示例

import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;

@Command(name = "greet", mixinStandardHelpOptions = true)
public class PicocliDemo implements Runnable {

    @Option(names = {"-n", "--name"}, description = "你的名字")
    String name = "匿名";

    public void run() {
        System.out.println("你好," + name);
    }

    public static void main(String[] args) {
        new CommandLine(new PicocliDemo()).execute(args);
    }
}

运行:

java PicocliDemo -n Tom
java PicocliDemo --help

✅ 自动帮助
✅ 子命令
✅ 企业级 CLI 首选


五、选择建议

场景 推荐
学习 / 练习 Scanner
简单脚本 args
工具程序 Apache Commons CLI
专业 CLI 工具 Picocli

如果你愿意,我可以:

  • 给你一个完整可运行 CLI 项目结构
  • 教你做子命令(如 git commit)
  • 帮你封装成 可执行 jar

你打算做哪种 CLI?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手