草庐IT

groovy-spread

全部标签

java - Groovy Java 9 模块支持

我花了一些时间将我用Groovy编写的项目迁移到Java10。现在可以编译和运行它了。但它仍然没有利用Java9模块化的任何好处。谷歌搜索Groovy和Java9模块几乎一无所获。那么是否可以迁移Groovy项目以将JDK10与ProjectJigsaw模块一起使用? 最佳答案 好吧,经过几天的实验,我得出了答案——是的,可以将Groovy与ProjectJigsaw模块一起使用。但它需要一些额外的努力。假设我们有以下文件结构:├──build├──jigsaw│  └──module│  └──test│  └──Applicat

java - 解决错误java.lang.NoSuchMethodError : org. codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;

我遇到了这个异常。Exception:java.lang.NoSuchMethodError:org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;我尝试过各种版本的groovyjar,如groovy1.8.4、groovy1.8.6等。但我无法摆脱这个错误。 最佳答案 当我在类路径中同时有2个不同版本的Groovy时,这发生在我身上。检查您的类路径,尤其是在使用混淆它的东西(如Eclipse或Maven)时。在我的具体案例中,我尝试使用Groovy1.

java - 如何在 java 或 groovy 中查找两个日期之间的天数?

我有一种方法使用以下逻辑来计算天数之间的差异。longdiff=milliseconds2-milliseconds1;longdiffDays=diff/(24*60*60*1000);但我想要,2011年2月9日至2011年2月19日应该返回我11天,而不考虑秒或毫秒的考虑。我怎样才能做到这一点? 最佳答案 对于您要求的groovy解决方案,您应该考虑使用这个:use(groovy.time.TimeCategory){defduration=date1-date2println"days:${duration.days},Ho

java - Java/Groovy 中是否有可用的临时报告生成器库?根据选择的维度/度量生成 SQL 查询

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion理想情况下,图书馆需要详细说明每个维度/度量映射到哪些表/列/聚合。然后,当给出选定的列表时,它会生成SQL查询

java - 防弹 groovy 脚本嵌入

我正在开发一个可以通过用户提供的Groovy脚本扩展的服务器应用程序。很明显,我想确保这些脚本在一个非常紧凑的沙箱中运行,在沙箱中它们不会破坏核心应用程序代码或消耗太多资源而使服务器过载。我研究了各种可能性,最终的解决方案可能是这些的组合:在非常受限的安全管理器中运行脚本。该脚本在无权限的SecurityManager中运行。必须声明其他权限(如Android)。启动一个新的JVM。在Runtime.exec周围创建一个ScriptProcess包装器,并生成一个带有安全管理器、有限堆等的新JVM。因为我们启动了一个成熟的进程,我们可能会更好地控制监控不良行为?虽然资源成本会非常高..

java - 为什么 Groovy 用 size() 替换 java.lang.String.length()?

维基百科的currentarticle关于Groovy编程语言的解释是“大多数有效的Java文件也是有效的Groovy文件”,并给出了以下示例,首先是Java代码:for(Stringit:newString[]{"Rod","Carlos","Chris"})if(it.length()然后在Groovy中也是如此:["Rod","Carlos","Chris"].findAll{it.size()请注意,在第一个示例中,我们使用了非常普通的Java方法java.lang.String.length().在第二个示例中,此方法被神秘地替换为对名为size()的方法的调用。我有veri

java - Groovy - 主要方法放置

这是我的代码:classcat{}classdog{staticvoidmain(String[]args){}}当编译groovy时说我没有main方法。但是当我摆脱cat类时:classdog{staticvoidmain(String[]args){}}它有效。我想,只要我在任何类中有main方法,代码就有效,但我错了。有人可以解释为什么当主要方法驻留在其中一个类中时我不能有多个类吗? 最佳答案 你可以有多个类,但首先定义的类必须有main方法实现。通常当作为脚本运行时,脚本在run()方法中执行。如果您定义了一个类,则该类的

java - maven 编译 groovy

我遇到这样一种情况,我的一些groovy代码引用了我的java文件,但我也有不同的java文件引用了相同的groovy代码。当尝试在maven中编译时,我要么需要在java之前或之后编译groovy,但由于groovy代码依赖于一些java文件,而不同的java文件依赖于groovy代码,所以这不会真正起作用。有没有办法处理这种依赖性? 最佳答案 是的,只需使用GMaven.由于它是一个联合编译器,它会自动管理您的java到groovy和groovy到java的依赖关系。简而言之,您需要:在你的pom.xml中包含gmaven-pl

java - Groovy 泛型失败

除了groovy比java更动态...为什么这是groovy中的编译时错误(意外标记):interfaceA{TgetByClass(Classclazz)}如何以常规方式编写此代码? 最佳答案 Groovy解析器不处理methodsignaturesbeginningwithGenericinformation...如果你添加public修饰符,它会解析:interfaceA{publicTgetByClass(Classclazz)}虽然我不相信你会在编译时获得任何类型检查来添加这个注解

java - Groovy 中的匿名代码块

有没有办法在Groovy中使用匿名代码块?例如,我正在尝试将以下Java代码转换为Groovy:{inti=0;System.out.println(i);}inti=10;System.out.println(i);我能想到的最接近的翻译如下:booleangroovyIsLame=trueif(groovyIsLame){inti=0printlni}inti=10printlni我知道匿名代码块通常是一种反模式。但是使用名称如“inputStream0”和“inputStream1”的变量也是一种反模式,因此对于我正在处理的这段代码,匿名代码块会有所帮助。