如何从python脚本设置系统属性以在Java代码中使用它?

时间:2012-11-10 12:25:53

标签: java python properties system

我想要一个Java代码中的String,其值在python脚本中设置。我可以从脚本中将其设置为系统属性,以便将其与System.getProperty()方法一起使用。有没有办法实现这一目标或使用其他方法?

3 个答案:

答案 0 :(得分:3)

您可以在命令行上设置Java属性,如下所示:

java -D<propertyName1>=<propertyVal1> -D<propertyName2>=<propertyVal2> ...

System.getProperty(“propertyName1”)将返回“propertyVal1”。

示例:

java -Dfile.encoding=utf-8 -jar MyJar.jar

这将在bash脚本中起作用。我从来没有尝试过Python,但我想这answer可能会帮助你实现这一点。

答案 1 :(得分:0)

如果您使用的是Jython,则可以导入java.lang.System类并调用System.setProperty()方法来设置要设置的任何系统属性:

代码段:

&#13;
&#13;
from java.lang import System
System.setProperty('app.env', 'DEV')

from yourpackage import YourMainClass
args = ['Your','Args']
YourMainClass.main(args)
&#13;
&#13;
&#13;

答案 2 :(得分:0)

如果您正在使用pyspark,则可以使用SparkContext的setSystemProperty()方法,例如

import pyspark
sc=pyspark.SparkContext()
sc.setSystemProperty("com.amazonaws.services.s3.enableV4", "true")