在我的应用程序中,我需要通过代理发送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脚本中以方便启动。

09-04 11:57
查看更多