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 ?
Réponses
Trop de publicités?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.
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)