我想要一个Java代码中的String,其值在python脚本中设置。我可以从脚本中将其设置为系统属性,以便将其与System.getProperty()方法一起使用。有没有办法实现这一目标或使用其他方法?
答案 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()方法来设置要设置的任何系统属性:
代码段:
from java.lang import System
System.setProperty('app.env', 'DEV')
from yourpackage import YourMainClass
args = ['Your','Args']
YourMainClass.main(args)
&#13;
答案 2 :(得分:0)
如果您正在使用pyspark,则可以使用SparkContext的setSystemProperty()方法,例如
import pyspark
sc=pyspark.SparkContext()
sc.setSystemProperty("com.amazonaws.services.s3.enableV4", "true")