繁体   English   中英

Java以编程方式检测Eclipse /调试器

[英]Java Programmatically Detect Eclipse/debugger

我正在使用Eclipse编写我的Java应用程序。

是否可以通过编程方式检测是从Eclipse调试环境(F11)执行代码还是使用“ java -jar”在没有Eclipse的情况下执行代码。

我知道在Visual Studio中可以检测Visual Studio是否执行,但是我不是在这里编写.Net应用程序,而是在Eclipse下编写Java。

过去,我通过检查是否可以找到.project文件来破解我的软件是否在Eclipse中运行。

public static boolean isRunningInEclipse(int folderDepth) {
    File projectRoot = new File(Boot.class.getProtectionDomain().getCodeSource().getLocation().getFile());       
    for (int i = 0; i < folderDepth; i++) {
        projectRoot = projectRoot.getParentFile();
        if (projectRoot == null || !projectRoot.isDirectory()) {
            return false;
        }
    }
    return new File(projectRoot, ".project").isFile();
}

如果您的主类位于bin文件夹中,则使用folderDepth = 1调用该方法,如果您的主类位于target/classes/ ,则使用folderDepth = 2调用该方法。

如果您特别想知道它是否正在调试器中运行,建议您检查此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM