我的场景:
我有一个 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/