首页 > 解决方案 > 在 java 应用程序上以交互方式运行 groovy shell

问题描述

我有一个具有各自主要功能的 Java 应用程序

我想使用 Groovy 调试应用程序,方法是运行一个 Groovy shell,它应该与 Java 应用程序共享活动对象。

想想我想从 Groovy 控制台更改状态的游戏。

我的目标是测试不当行为对网络的影响,因此我希望尽可能避免更改源代码,同时我欢迎任何骇人听闻的做法。

我最初的想法是在应用程序运行之前运行一个“Groovy Shell”,然后以某种方式连接到它,然后通过一个包含 App 对象的单一静态变量检索应用程序状态。

像这样的东西

爪哇:

public static App app;

public static void main(String[] args) {
    if (flags()) {
        new GroovyShell(config).run();
    }
    app = new App(config);
    app.run();
}

在 Groovy 文件中执行类似于 Groovy 的操作:

def app = Main.app
app.hackishMethod()

并在应用程序初始化后运行它,只要我想,我想运行多少次。或者 Groovy shell

如果可能的话,我想从 Intellij 做

标签: javaintellij-ideagroovy

解决方案


推荐阅读