问题标签 [groovy-console]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
547 浏览

json - toString() 时的 Groovy JsonBuilder 奇怪行为

我需要创建一个 json 以用作http.request. 我能够动态地构建 json,但是在调用builder.toString()两次时我注意到了一个奇怪的行为。生成的 json 完全不同。我可能认为这与某种缓冲区有关。我一直在阅读文档,但找不到好的答案。这是要测试的代码。

这将打印以下行。注意最后两行

在我的代码中,我可以轻松地将第一个toString()结果发送到一个变量并在需要时使用它。但是,为什么调用不止一次时它会改变?

0 投票
1 回答
171 浏览

groovy - 带有循环和布尔值的 Groovy 练习

我是 Groovy 的新手,正在尝试回答下面的练习。我看不到错误并且不起作用:该程序需要一系列数字。如果当前数字与前一个数字相同,则表示“相同”,如果当前数字大于前一个数字,则表示“向上”,如果小于前一个数字,则表示“向下”。它对第一个数字完全没有反应。

0 投票
3 回答
5263 浏览

groovy - 执行 groovy 脚本时出错

代码如下:

当我使用 Ctrl+R 执行时,出现以下编译错误。

1 编译错误:

类 Book 的重复类定义无效:源 Book.groovy 包含类 Book 的至少两个定义。其中一个类是使用 class 语句显式生成的类,另一个是根据文件名从脚本主体生成的类。解决方案是更改文件名或更改类名。在行:1,列:1

谁能解释一下这里发生了什么。

0 投票
2 回答
782 浏览

java - 如何在 Java 程序运行时启动 groovy 控制台

我想在我的 java 程序运行时启动 groovy 控制台,并且 Groovy 控制台应该能够访问一些 java 变量
ex。

现在在 groovy 控制台中 x 应该可以访问了

0 投票
1 回答
134 浏览

java - 如何知道 Groovy 控制台窗口已关闭

我通过下面的代码在运行时启动 groovy 控制台窗口。假设用户已经关闭了 groovy 控制台窗口。我想在我的程序中检测窗口的关闭。

请提出可能的解决方案。groovy 是否为此提供了任何方法?

0 投票
2 回答
1135 浏览

groovy - 为什么我会在 GroovyConsole 中收到 MissingPropertyException?

当我在 GroovyConsole 中执行以下脚本时,它给了我一个MissingPropertyException但我不明白为什么:

抛出以下异常:

0 投票
1 回答
5356 浏览

groovy - Jenkins Groovy:我们如何在 groovy 中添加“执行 Windows 批处理命令”?

我看到在作业 UI 中的“执行 shell 命令”选项的 groovy 脚本中有一个“ shell() ”等效项。“执行 Windows 批处理命令”的等价物是什么?

PS 不寻找:

def process='xxxx'.execute() 因为它在我触发的从机上不起作用。有什么选择吗?

0 投票
2 回答
2137 浏览

groovy - Groovy 控制台/jdbc 驱动程序问题的类路径是什么?

这样的数据库代码在 Java 环境中是可以的(没有绑定值 'c'),但在 Groovy 控制台中不能正确使用 jdbc,有异常

驱动程序类以脚本而闻名(加载时没有 null 等)但可能未在 Drivermanager 中注册?

代码(我尝试使用和不使用Class.forname()

编辑:我已经检查过的内容:

  1. 新启动的 Groovy 控制台在类路径上没有 sqljdbc4.jar。

java.lang.ClassNotFoundException第 4 行的自然异常Class.forName(),或者如果第 4 行注释和参数 db 带有驱动程序名称,则第 7 行的异常 Sql.newInstance(db )

它的逻辑,未找到驱动程序类等......

1a。如果 db 参数带有 3 个参数(没有驱动程序),我假设它的合法(并且在其他情况下工作)异常更改为SQLException: No suitable driver第 7 行 Sql.newInstance(db )

这也是合乎逻辑的, DriverManager 不知道如何解决 key jdbc:sqlserver。Driver 未注册,DriverManager 不知道类实现了什么。

2. 当我将 jar 添加到控制台类路径(脚本/将 jar(s) 添加到类路径)时,事情发生了一些变化。没有更多ClassNotFoundException变量c具有非空值(驱动程序类)但SQLException: No suitable driver继续。

我对 JDBC 哲学的理解:(现代)JAR 驱动程序使用文件技术META-INF/services/java.sql.DriverDriverManager. 因此,在正确的情况下,不需要第 4 个参数(驱动程序类名称),因为它是自动发现的。如果我错了,请纠正我的理解。

我在这个意义上使用了“活动”一词(“非活动”表示类存在并已加载,但可以用作 jdbc 驱动程序)。

我的最大代码是:

但仍然no suitable driver例外

EDIT2:我用这样的代码枚举事物(在 newInstance() 之前):

并得到

我执行的(基本)代码是 Tomcat 环境仍然可以正常工作。怎么了?

0 投票
1 回答
389 浏览

dictionary - 在 Groovy 中使用变量键时访问地图的元素

我正在尝试从地图中替换字符串中的某些字符

情况1

结果是

案例2:我不使用toCharArray()

结果如预期

所以我在使用时尝试了几种替代toCharArray()方法,访问该值的唯一方法是使用map."$it"

为什么我在使用时只能map."$it"用来访问我的地图toCharArray()

0 投票
2 回答
1276 浏览

windows - 如何增加 GroovyConsole 中的可用内存大小?

我在 Windows 7 64 位上的 GroovyConsole 2.4.5 中运行脚本,它们由于内存不足错误而崩溃。Runtime.getRuntime().maxMemory()显示 247MB,我的电脑有 32GB RAM。增加 GroovyConsole 和底层 JVM 可用内存的方法是什么?

我尝试startGroovy.bat使用以下方法编辑文件:

和其他值,但它没有效果。