java - 如何从终端运行带有自定义变量的java类

标签 java

我的场景:

我有一个 Main.java 文件,它只执行 System.out.println("Hello")。 我首先运行它,使用 javac Main.java 进行编译,然后执行命令 java Main

现在我想要的不是打印“Hello”,而是打印用户想要的任何内容,但是我不想在需要不同输出时更改源代码。所以我用 System.out.println(${MESSAGE}) 替换了 System.out.println("Hello")。但这会产生错误“无法解析符号消息”。

最终,我想要一个 Main.class 文件并使用类似 java Main -env MESSAGE=whateverIPutHere 的东西运行,它应该打印出 whateverIPutHere。

这可能吗?

最佳答案

您可以使用系统属性

public final class Test {
    public static void main(String[] args) {
        System.out.println(System.getProperty("port") + " port");
    }
}

然后编译运行

javac Test.java
java -Dport=8080 Test

输出是:8080端口

关于java - 如何从终端运行带有自定义变量的java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57375046/

相关文章:

java - Hadoop流内存使用率

java - LibGDX 渲染未调用

java - 带 Swing 的可调整大小的数字金字塔面板

java - 以 openxmlformats 更改图表的轴颜色和字体

java - 如何区分复选框字段和一组单选按钮

java - gRPC : Generate certificateChainFile and privateKeyFile to make TLS/SSL work

java - 如何使用 ElasticSearch 获得 0 到 1 之间的分数?

java - Apache Beam Combine.perKey 使用复合 key

java - 绘制圆心和半径的圆

java - 性能: float 转换为整数并将结果裁剪到范围