27.IDEA 专业版创建与打包 Java 命令行程序

IDEA 专业版创建与打包 Java 命令行程序

一、教程目标

  1. 使用 maven-archetype-quickstart 快速生成 Java 项目。
  2. 编写一个简单的 命令行交互程序(支持参数输入和交互式输入)。
  3. 配置 Maven 打包成 可执行 JAR
  4. 在 IDEA 中运行和调试,并最终生成可分发的 JAR 文件。

二、步骤详解

1. 使用 maven-archetype-quickstart 创建项目

  1. 打开 IDEAFile → New → Project

  2. 选择 Maven → 勾选 Create from archetype → 选择 maven-archetype-quickstart(标准 Java 项目模板)。

  3. 填写项目信息:

    • GroupId : com.example(你的组织域名反转,如 com.yourcompany
    • ArtifactId : cli-demo(项目名称)
    • Version : 1.0-SNAPSHOT(默认即可)
  4. 点击 Finish ,IDEA 会自动生成项目结构:

    复制代码
    cli-demo/
    ├── pom.xml          # Maven 配置文件
    └── src/
        ├── main/java/com/example/App.java  # 主程序入口
        └── test/java/com/example/AppTest.java  # 测试类(可删除)

2. 编写命令行程序

修改 src/main/java/com/example/App.java,添加 命令行参数处理交互式输入 功能:

java 复制代码
package com.example;

import java.util.Scanner;

public class App {
    public static void main(String[] args) {
        System.out.println("=== Java 命令行程序演示 ===");

        // 1. 处理命令行参数(args)
        if (args.length > 0) {
            System.out.println("\n[通过 args 接收的参数]");
            for (int i = 0; i < args.length; i++) {
                System.out.println("参数 " + (i + 1) + ": " + args[i]);
            }
        } else {
            System.out.println("\n[未检测到命令行参数]");
        }

        // 2. 交互式输入(Scanner)
        System.out.println("\n[交互式输入演示]");
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入您的名字: ");
        String name = scanner.nextLine();
        System.out.println("您好, " + name + "!");

        scanner.close();
    }
}

3. 配置 pom.xml(打包成可执行 JAR)

pom.xml 中添加 maven-jar-plugin,指定主类(mainClass):

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.4.1</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.App</mainClass>  <!-- 指定主类 -->
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

4. 运行与调试

4.1 在 IDEA 中运行
方式 1:通过 args 传递参数
  1. 点击 Run → Edit Configurations

  2. Program arguments 输入参数,例如:

    复制代码
    arg1 arg2 "hello world"
  3. 点击 Run ,输出:

    复制代码
    === Java 命令行程序演示 ===
    
    [通过 args 接收的参数]
    参数 1: arg1
    参数 2: arg2
    参数 3: hello world
    
    [交互式输入演示]
    请输入您的名字: 
方式 2:纯交互式输入
  • 不配置 args,直接运行,程序会跳过 args 处理,直接进入交互模式。

5. 打包成 JAR 文件

5.1 使用 IDEA 的 Maven 工具窗口打包
  1. 展开 Maven → Lifecycle → package,双击运行。
  2. 生成的 JAR 文件位于 target/cli-demo-1.0-SNAPSHOT.jar
5.2 使用命令行打包
bash 复制代码
mvn clean package

6. 运行 JAR 文件

6.1 通过 args 传递参数
bash 复制代码
java -jar target/cli-demo-1.0-SNAPSHOT.jar arg1 arg2

输出:

复制代码
=== Java 命令行程序演示 ===

[通过 args 接收的参数]
参数 1: arg1
参数 2: arg2

[交互式输入演示]
请输入您的名字: 
6.2 纯交互式输入
bash 复制代码
java -jar target/cli-demo-1.0-SNAPSHOT.jar

程序会直接进入交互模式。

复制.jar到其他电脑,也可以用java直接运行


三、总结

步骤 操作 关键点
1 使用 maven-archetype-quickstart 创建项目 自动生成标准 Java 项目结构
2 编写 App.java 支持命令行参数和交互式输入
3 配置 pom.xml 指定主类,确保 JAR 可执行
4 运行与调试 支持 args 参数和交互模式
5 打包 JAR 使用 mvn package 或 IDEA 工具
6 运行 JAR 支持 args 或纯交互模式

相关推荐
毕设源码-郭学长2 小时前
【开题答辩全过程】以 基于JAVA的车辆违章信息管理系统设计及实现为例,包含答辩的问题和答案
java·开发语言
while(1){yan}2 小时前
UDP和TCP的核心
java·开发语言·网络·网络协议·tcp/ip·udp
麒qiqi2 小时前
【Linux 进程间通信】信号通信与共享内存核心解析
java·linux·算法
后端小张2 小时前
【Java 进阶】深入理解Redis:从基础应用到进阶实践全解析
java·开发语言·数据库·spring boot·redis·spring·缓存
柯南二号2 小时前
【后端】【Java】RabbitMQ / RocketMQ / Kafka / Redis 消息队列深度对比与选型指南
java·java-rocketmq·java-rabbitmq
木心爱编程2 小时前
【Qt 5.14.2 新手实战】QTC++入门筑基——10 分钟做个文本编辑器:QLineEdit + QTextEdit 核心用法
java·c++·qt
楠枬2 小时前
Nacos
java·spring·spring cloud·微服务
ShadowSmartMicros2 小时前
SpringAi调用Mcp
java·ai
RwwH2 小时前
PyCharm虚拟环境创建
ide·python·pycharm