3 votes

Comment définir une propriété système à partir d'un script python pour l'utiliser dans un code Java ?

Je veux un String dans le code Java dont la valeur est définie dans un script python. Puis-je la définir comme une propriété système à partir du script afin de l'utiliser avec la méthode System.getProperty(). Y a-t-il un moyen d'y parvenir ou d'utiliser une autre approche ?

3voto

MasterF Points 650

Vous pouvez définir une propriété Java sur la ligne de commande comme ceci :

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

Le System.getProperty("propertyName1") renverra "propertyVal1".

Ejemplo:

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

Cela fonctionnera dans un bash script. Je ne l'ai jamais essayé depuis Python, mais je suppose que ceci réponse pourrait vous aider à y parvenir.

3voto

asmaier Points 1363

Si vous utilisez pyspark, vous pouvez utiliser la méthode setSystemProperty() du SparkContext, par ex.

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

0voto

1Z1 Points 71

Si vous utilisez Jython, vous pouvez importer la classe java.lang.System et appeler la méthode System.setProperty() pour définir les propriétés système que vous souhaitez :

Extraits de code :

from java.lang import System
System.setProperty('app.env', 'DEV')

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X