0
私はキュウリのJVM + Seleniumスクリプトを持っています。主な方法は、すなわち静的メインメソッドからランタイム引数を挿入する方法
public Class CucumberRunner;
private ClassUtility environment;
private Classutility pathVal;
private ClassUtility userName;
public CucumberRunner(ClassUtility environment , ClassUtility pathVal,
ClassUtility userName) {
this.environment = environment;
this.pathVal=pathVal;
this.userName= userName;
}
これは私が」とコンパイルエラーを取得しています私のclassutilityクラス、
public class ClassUtility {
public String environmentValue;
public String pathValue;
public String superUser;
}
で、私はコンストラクタクラスを持って、このような何か、
public static void main (String args[]) {
environment.environmentValue = args[0];
path.pathValue = args[1];
username.superUser = args[2];
returnCode = Main.run(
new String[] { "-g", "com.sanity.step.definition","-t", "@" +path ,
featureFile.replace("\\", "\\\\") },
SeparateClassloaderTestRunner.class.getClassLoader());
}
ですメインメソッド "enviornment.environmentValue = args [0]"の非静的フィールドメソッドへの静的参照を作成することはできませんので、静的変数に対する依存性注入はどのように行いますか?またはランタイム引数?
この回答は役に立ちます:https://stackoverflow.com/questions/11324372/how-to-make-spring-inject-value-into-a-static-field – Thoomas
@Thoomas、それはどのようにランタイムで動作しますか議論?私の場合、mainメソッドからの引数を注入する必要があります。あなたは私にそれをする方法を教えてもらえますか? – Mathan
SpringブートはJVMの引数を扱うことができます。 '@Value(" $ {argumentName} ")private String var'を実行すると、それらを取得できます。これがあなたのニーズに合ったオプションであれば、答えとして具体的な例を挙げることができます。 – Thoomas