草庐IT

Groovy沙箱

全部标签

java - Eclipse 中的 Groovy 无法识别导入

我试图在Eclipse中运行Groovy脚本,但Eclipse似乎忽略了我的所有导入语句。如果我将鼠标悬停在错误上,它会提示我导入适当的类(点击它什么都不做)。我的构建路径和类路径中有所需的jar。示例代码,非常标准:packagescripts.blahimportfoo.Bar;classFooMain{staticmain(String[]args){Barbar=newBar();}}Groovy:无法解析类Bar如有任何帮助,我们将不胜感激。 最佳答案 三种可能性:脚本不在源文件夹中所引用的脚本不在源文件夹中。一个或两个脚

java - Groovy ScriptingEngine 线程安全吗?

当你打电话时:ObjectisThreadSafe=scriptEngine.getFactory().getParameter("THREADING");它按照以下方式返回MULTITHREADED:https://docs.oracle.com/javase/8/docs/api/javax/script/ScriptEngineFactory.html#getParameter-java.lang.String-但目前还不清楚这到底有什么影响。这是否意味着:我可以调用scriptEngine.eval(script,bindings);来自不同线程并且提供的绑定(bind)不共享

java - 如何将闭包从 groovy 导入到 java?

我正在尝试从groovy脚本中提取闭包。我将闭包定义为defprintMe={str->printlnstr}在我的groovy文件中,然后尝试通过从绑定(bind)中获取它来使用它,如下所示:GroovyScriptEnginegse=newGroovyScriptEngine(newString[]{"scripts"});Bindingbinding=newBinding();gse.run("test.groovy",binding);Closurecls=(Closure)binding.getVariable("printMe");cls.call("foo");但是当我运

java - Groovy 闭包可以扩展抽象类吗

我有一个抽象Java类,需要实现一个方法onMessage。我知道闭包可以使用as关键字轻松实现Java接口(interface),但它如何扩展抽象Java类?如果它不能扩展它,那么在Groovy中这种情况下最好的解决方法是什么?这是我在Java中的用法,我正在寻找可以在Groovy中完成的类似的东西。MessageCallbackcallback=newMessageCallback(){@OverridepublicvoidonMessage(Messagemessage){dosomething();}};消息回调是我想在Groovy中以类似方式使用的抽象类。

java - Groovy 等价于 java 的没有访问修饰符的声明

所以,我可以在Groovy中声明一个类://groovy-codeclassPerson{}这相当于用java编写如下内容://java-codepublicclassPerson{}只是出于好奇..什么是groovy等同于用java编码的://java-codeclassPerson{}我的意思是,有没有一种方法可以通过在没有访问修饰符的情况下声明某些内容来实现我在Java中可以实现的相同目标? 最佳答案 由于Java中类的默认访问修饰符是“package-private”,我认为在Groovy中最接近相同行为的是使类成为“pac

java - 关于空间/时间的 Groovy 集合性能注意事项

与普通Javafor循环相比,Groovys集合方法(关于空间(!)和时间)的性能如何?例如对于这个用例:sum()与带变量的for循环each()与带变量的for循环inject()与带变量的for循环collect()与带有临时集合的for循环findAll()与带有临时集合的for循环find()与带变量的for循环因此,考虑到这些结果,是否建议在关键环境(例如Grails-WebApp)中使用for循环而不是Groovy集合方法?是否有关于Groovy/Grails性能(优化)的资源?使用这个GBench测试,我得到了以下CPU时间结果:usersystemcpurealfor

java - 我如何检查字符串是否是 Groovy 中的 IP?

来自给定的字符串:StringsomeIp=//someString我如何检查someIp是否是有效的Ip格式? 最佳答案 您可以使用InetAddressValidator检查和验证字符串是否为有效ip的类。importorg.codehaus.groovy.grails.validation.routines.InetAddressValidator...StringsomeIp=//someStringif(InetAddressValidator.getInstance().isValidInet4Address(someI

java - 在 groovy 中读取 Excel 文件的最简单方法?

是否有任何warappers/utils可用于在Groovy中读取Excel文件。我正在寻找类似于GroovySQL的rows函数的东西,如下面的spock测试示例所示。我的意图是将其用于datadriventestingusingexcelinSpocktestframeworkimportgroovy.sql.Sqlimportspock.lang.*classDatabaseDrivenextendsSpecification{@Sharedsql=Sql.newInstance("jdbc:h2:mem:","org.h2.Driver")//normallyanexterna

java - 在 Groovy/Java 中比较两个 XML 字符串/文件

我正在编写单元测试来检查一些XML构建器。现在我遇到了预期结果和实际结果之间的语法差异问题,尽管它们具有相同的语义。示例:预期结果:texthere实际结果:texthere我尝试使用XmlUtil.serialize()规范化xml,但这似乎保留了空格,留下了语法差异。如何获得规范化/规范化形式的xml字符串以使我的测试更加可靠?我正在编写一个Grails应用程序,所以我可以使用Groovy或Java中的任何解决方案。 最佳答案 您可以像这样使用GroovyXMLUnit实用程序:XMLUnit.setIgnoreWhitespa

java - Spring Tool Suite (STS) 3.5.0 - org.codehaus.groovy.eclipse 在求解器中未知

STS3.5.0有问题https://issuetracker.springsource.com/browse/STS-3792org.codehaus.groovy.eclipse2.9.0.xx-201403261719-e43j8在求解器中未知!这些是我修复它的步骤,它允许我使用eclipsemarketplace 最佳答案 Help->CheckforupdatesProblemOccured"JDTCorepatchwithJava8SupportforGroovy-Eclipseplugin"isnotapplicabl