0
我有一个黄瓜JVM + Selenium脚本。主要的方法是这样的,如何从静态主要方法依赖注入运行时参数
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());
}
我有一个构造类,即
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;
}
我收到编译错误的“不能在主要方法“enviornment.environmentValue = args [0]”中对非静态字段方法做一个静态引用。那么我们如何为静态变量做依赖注入?我们可以做依赖注入f或运行时参数?
此答案可能会帮助你:https://stackoverflow.com/questions/11324372/how-to-make-spring-inject-value-into-a-static-field – Thoomas
@Thoomas,它如何与运行时参数呢?在我的情况下,主要方法的参数必须被注入。你能让我知道该怎么做吗? – Mathan
Spring Boot可以为您处理JVM参数。您可以通过执行来检索它们:'@Value(“$ {argumentName}”)private String var'。如果这个选择适合您的需求,我可以提供一个具体的例子作为答案。 – Thoomas