在我的应用程序中,我需要通过代理发送http请求。在终端中,我以此启动它:
java -Dhttp.proxyPort=**** -Dhttp.proxyHost=***.***.***.*** -jar app.jar
在没有-D选项的情况下,我应该使用什么环境变量来启动我的应用程序
java -jar app.jar
操作系统Linux。 Java 7。
谢谢!
PS已尝试使用JAVA_OPTS,JAVA_OPTIONS,_JAVA_OPTIONS,JAVA_TOOL_OPTIONS ...
最佳答案
Java有两种将参数传递给程序的方法:
属性通常在命令行参数中指定(如您的第一个示例),从文件加载或通过代码手动添加。
环境变量,由操作系统中的设置确定。
这两个概念是分开的。前者不会影响后者,反之亦然。因此,您不能通过环境变量来设置属性。
其他选项包括在运行时加载.properties
文件(假设此时尚未初始化代理),或将完整命令(-D
参数和全部)放在shell脚本中以方便启动。