Java Review - Java命令行参数指南:掌握 -D 和 -- 的使用技巧

2023-11-26 12:19:42 浏览数 (1)


概述

在Java应用中,参数传递可以通过命令行选项进行,其中包括使用 -D-- 作为前缀的选项。这两者之间有一些区别:

-D选项:

使用形式:-D<name>=<value> 用途:用于设置Java虚拟机(JVM)系统属性。 示例:java -Dmy.property=value -jar myapp.jar

–选项:

使用形式:--<name>=<value> 用途:通常用于应用程序级别的参数,而不是JVM系统属性。一些Java应用框架和库可能定义了特定的–选项。 示例:java -jar myapp.jar --my-argument=value

总的来说,-D用于设置JVM系统属性,而–用于应用程序级别的参数。在实际应用中,开发人员可以根据具体需求选择适当的选项。历史上,-D主要用于设置系统属性,而–主要用于应用程序参数,但这并非绝对规定,具体的使用方式可能取决于应用框架或库的设计。


Code

代码语言:javascript复制
// 示例代码演示如何在Java应用中使用 -D 和 -- 传递参数

// Main.java
public class Main {
    public static void main(String[] args) {
        // 获取系统属性
        String systemProperty = System.getProperty("my.property");
        System.out.println("System Property (via -D): "   systemProperty);

        // 处理应用程序参数
        for (String arg : args) {
            if (arg.startsWith("--my-argument=")) {
                String applicationArgument = arg.substring("--my-argument=".length());
                System.out.println("Application Argument (via --): "   applicationArgument);
            }
        }
    }
}

在命令行中运行该应用:

代码语言:javascript复制
# 使用 -D 传递系统属性
java -Dmy.property=value -jar myapp.jar --my-argument=appValue

这个例子中,-Dmy.property=value 用于设置JVM系统属性,而 --my-argument=appValue 用于传递应用程序参数。

在实际应用中,可以根据需要设置不同的系统属性和应用程序参数。

0 人点赞