2012-11-10 38 views
3

我想要一个Java代码中的一个字符串,其值在python脚本中设置。我可以从脚本中将它设置为系统属性,以便在System.getProperty()方法中使用它。有什么方法可以实现这一点或使用其他方法?如何从python脚本中设置系统属性以在Java代码中使用它?

+0

您可以使用的Jython答反向取决于Java应用程序也可能更适合的具体任务问题 – Aubin

+0

传递值作为一个简单的命令行参数。 – raymi

回答

3

您可以像这样在命令行上设置的Java属性:

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

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

例子:

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

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

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)

0

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

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