gpt4 book ai didi

java - 从静态初始值设定项访问主要参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:15 25 4
gpt4 key购买 nike

给定:

public class MyClass {

static {
// Access to args is needed here
}

public static void main(String[] args) {
...
}
}

我想访问上述静态 block 中的参数。

我知道静态 block 是在类加载(或初始化)时和静态主函数之前执行的,但仍然想知道是否可以访问它的参数。

顺便说一句 - 我的最终目标是在配置 log4j 之前在运行时附加到日志文件的名称(使用从传递给 main 的参数之一派生的系统属性变量)。

最佳答案

有一个包含整个命令行的特殊系统属性“sun.java.command”。

这是一个例子:

static {
System.out.println(System.getProperty("sun.java.command"));
}

当我使用参数 aaa bbb 运行我的程序时,我得到以下输出:

com.MyClass aaa bbb

关于java - 从静态初始值设定项访问主要参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28150268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com