如果代码通过 Eclipse/IntelliJ 或任何其他编辑器运行或从命令行运行,我想知道是否有编写程序的选项
我正在考虑使用 System.getProperty() 但是否有任何属性表明它?
提前致谢
尼尔
如果代码通过 Eclipse/IntelliJ 或任何其他编辑器运行或从命令行运行,我想知道是否有编写程序的选项
我正在考虑使用 System.getProperty() 但是否有任何属性表明它?
提前致谢
尼尔
以下代码可以检测您的代码是否运行IntelliJ IDEA
。
public static boolean runningFromIntelliJ()
{
String classPath = System.getProperty("java.class.path");
return classPath.contains("idea_rt.jar");
}
它已经过测试Linux
,Mac OS X
因此Windows
它应该是独立于平台的。
没有可靠的方法可以做到这一点。IDE 本身将使用安装在您的系统上的 JRE / JDK 或与 IDE 一起打包的 JRE / JDK。SDK / JVM 中没有任何东西可以明确地将自己标识为在 IDE 中运行。
如果您需要在程序中识别这一点,请在从 IDE 运行代码时通过 -D 标志传递系统属性。此属性的存在(或不存在)可用于确定从何处运行代码。
这仅在您没有使用运行/调试配置中的“缩短命令行”选项之一时才有效。因为我们需要缩短命令行(类路径太长)我现在正在使用
public static boolean runningFromIntelliJ()
{
return System.getProperty("idea.test.cyclic.buffer.size") != null;
}
IntelliJ 在运行测试时设置该属性。