java - 在 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 做
解决方案
推荐阅读
- angular - BrowserModule 已经加载完毕,创建懒加载模块
- python - 如何通过 matplotlib 中的鼠标单击事件更改条形图的颜色?
- python - 仅保留所有值都满足条件的组
- r - 根据特定约束计算排列
- oracle - 为什么我们必须在备份完整数据库后备份归档日志
- javascript - Vue.js 不工作表过滤单字段
- node.js - 长时间运行的 App Engine 脚本“在终止信号时退出”
- linux - 我想删除 ram 缓存,但在 ubuntu 18.04.3 Lts 64 位上出现权限被拒绝错误
- ruby - 在 post.html 页面中忽略 Jekyll 自定义插件
- mobile - 由于 xcodebuild 失败,无法启动 WebDriverAgent:xcodebuild failed with code 65 xcodebuild 错误消息