【发布时间】:2010-10-26 03:10:02
【问题描述】:
我正在 Windows 上的 Eclipse 上进行开发,代码被部署在 Unix 上。我正在使用 System.getProperty("key") 获取系统属性值...如何在 Eclipse 中传递它,这样我就不必修改代码并且它可以在 Eclipse 上进行调试?
有什么建议吗?
【问题讨论】:
我正在 Windows 上的 Eclipse 上进行开发,代码被部署在 Unix 上。我正在使用 System.getProperty("key") 获取系统属性值...如何在 Eclipse 中传递它,这样我就不必修改代码并且它可以在 Eclipse 上进行调试?
有什么建议吗?
【问题讨论】:
运行 -> 运行配置,选择项目,第二个选项卡:“参数”。顶框用于您的程序,底框用于 VM 参数,例如-Dkey=value.
【讨论】:
main方法的String[] args。
您可以使用 java System.properties,在 eclipse 中使用它们可以:
Run Configuration 的VM 参数中添加-Dlabel="label_value",如下所示:然后运行测试:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class Main {
@Test
public void test(){
System.out.println(System.getProperty("label"));
assertEquals("label_value", System.getProperty("label"));
}
}
最终它应该通过测试并在控制台中输出:
label_value
【讨论】:
您可以在运行配置中添加命令行参数。只需编辑运行配置并将 -Dmyprop=value(或其他)添加到 VM Arguments Box。
【讨论】:
这适用于junit。对于 TestNG 使用以下命令
-ea -Dmykey="value" -Dmykey2="value2"
【讨论】:
是的,就是这样:
右击你的程序,选择运行->运行配置 然后在 vm 参数上
-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"
然后就可以申请关闭了。
【讨论】: