GROOVY - 技术教程文章

java-Gradle&Groovy-错误:找不到或加载主类【代码】

我可以使用gradle run运行项目,但不能使用java -jar运行jar文件.我用以下示例项目重新创建了错误:link to project on GitHub 这是通过gradlew运行项目的输出$./gradlew run> Task :run Hello world.BUILD SUCCESSFUL in 4s这是运行项目java -jar的输出$./gradlew buildBUILD SUCCESSFUL in 6s$java -jar build/libs/emailer.jar Error: Could not find or load main class us.company.emailer.App但是当我解压缩罐子时,我可以看到...

java / groovy套接字写入超时【代码】

我有一个简单的行为不端的服务器(用Groovy编写)ServerSocket ss = new ServerSocket(8889); Socket s = ss.accept() Thread.sleep(1000000)我想超时的客户端(因为服务器没有使用它的输入)Socket s = new Socket("192.168.0.106", 8889) s.setSoTimeout(100); s.getOutputStream.write( new byte[1000000] );但是,此客户端将永远阻塞.如何使客户端超时? 谢谢!!解决方法:您可以在其自己的线程中生成客户端,并在其上旋转锁/等待(超...

java-停止执行Groovy脚本【代码】

我正在代码中嵌入Groovy运行时,我希望能够中断它.我无法控制要运行的脚本.我读到有关groovy.transform.ThreadInterrupt的内容以处理线程中断,但是由于某些原因,下面的代码无法正常工作.实际上,它正在等待10000毫秒,而不是应该中断的1000毫秒. 有任何想法吗?谢谢.import groovy.lang.Binding; import groovy.lang.GroovyShell; import groovy.transform.ThreadInterrupt; import org.codehaus.groovy.control.CompilerConfiguratio...

在Java EE Apps中使用groovy?

有人在Java EE Web应用程序中使用过Groovy吗?值得深入研究吗?在使用Java EE,JSF,Facelets等时,我会从中受益吗? 我特别想要的是诸如Groovy自动生成getter / setter之类的东西,或者不必总是使用object.getProperty而只需要编写诸如object.list.property.prop之类的管道. 这值得么?解决方法:如果您对用于Web应用程序的Groovy感兴趣,则可以尝试Grails.这基本上是Spring MVC / Hibernate / Sitemesh框架之上的Groovy. 使用更有效的语...

Java-需要将GitBlit groovy挂钩推送更改为其他Gitblit服务器回购

Need a groovy push hook scripts from your Gitblit instance to anotherGitblit instance我有两个私人linux服务器,说A和B都安装了GitBlit.所有开发人员均会提交并在服务器A上推送其更改,我希望B与A保持同步. 有一些Groovy钩子,但是我对此完全陌生,任何人都可以帮助提供它. PS:如果在A上找到任何推送事件,则将触发某些脚本并将其推送到B解决方法:为什么不将B设置为A的mirror?

如何在Java程序运行时启动Groovy控制台【代码】

我想在Java程序的运行期间启动groovy控制台,并且Groovy Console应该能够访问一些Java变量例如int x = 5 ;// a variable in java program launchGroovyConsole(); // hypothetical method to launch groovy console 现在在groovy控制台中x应该可以访问了println x ==> 5解决方法:查看groovy安装的/ bin文件夹.在这里可以找到GroovyConsole.bat脚本,在其中可以找到对groovy.ui的引用.控制台:http://docs.groovy-lang.org/late...

在python中解析groovy文件【代码】

我有一个普通的配置文件,我也想附加数据.使用我想添加的python收集数据会更容易,但是我无法在python中找到相应的ConfigSlurper模块,而且我没有简单的方法可以使用ConfigParser或其他任何方法来做到这一点.有没有人做过这样的事情,对最佳方法有一些反馈/建议?解决方法:那是一个有趣的练习.from shlex import shlex from ast import literal_evalTRANSLATION = {"true": True,"false": False,"null": None,}class ParseException(Ex...

强制在Groovy中使用显式的return语句,尤其是基于RxJava的代码?

我已经被Groovy中的隐式return语句烧坏了很多次,尤其是对于RxJava.是否存在将Groovy置于通过隐式return语句返回的任何值都将被忽略(不返回)的模式的声明或设置? 在Groovy中,当使用Reactive Extensions时,忘记返回Observable会导致难以调试的“僵尸”情况,在这种情况下,序列在看似很小的更改后就停止发出值. 另一个困难的调试情况是通过删除在显式返回语言中无害的语句,意外地在运算符闭包或必须返回可观察值的某种方法的末尾放置,...

哪个Java / Groovy库在图像上覆盖文本

我正在使用Web应用程序(使用Grails)工作,该应用程序将生成礼品券.我在考虑这样的工作流程: >用户将选择一个模板,该模板将存储为图像.>然后,文本(名称,日期,金额等)将覆盖在图像上以形成最终证书.每个模板都有一组坐标,这些坐标描述了放置每一位文本的位置.>浏览器中有一种“实时预览”,可向用户显示最终证书的外观.>当用户对结果感到满意时,他们将证书下载为PDF并进行打印. 谁能推荐一个Java(或Groovy)库来简化这一工作?我并不特...

Java-Groovy约定:我应该在哪里放置metaClass定义?

我开始将一些Groovy类添加到现有的Java Web应用程序中. (这不是Grails应用) 在定义metaClass扩展的位置上,我应该遵循一个约定吗? 另外,我已经编写了一些扩展来协助单元测试.当前,它们位于测试的基类的@Before中,但是我怀疑应该在更明显的地方进行设置. 任何建议,不胜感激.解决方法:另一个选择是对自定义MetaClass使用Groovy的命名约定.只要您遵守约定(groovy.runtime.metaclass.[package].[class] MetaClass),并使用应用程序代码编...

java-带参数的Groovy的invokeMethod【代码】

我想从下面的类中调用groovy方法package infa9import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import com.ABC.csm.context.AppCtxProperties;import com.ABC.csm.context.AppContext;public class LicenseInfo { private StringBuffer licenseInformation;public LicenseInfo() {licenseInfo...

java – Groovy中的匿名代码块【代码】

有没有办法在Groovy中使用匿名代码块?例如,我正在尝试将以下Java代码转换为Groovy:{int i = 0;System.out.println(i); } int i = 10; System.out.println(i);我能想出的最接近的翻译如下:boolean groovyIsLame = true if (groovyIsLame) {int i = 0println i } int i = 10 println i我知道匿名代码块通常是一种反模式.但是拥有像“inputStream0”和“inputStream1”这样的名称的变量也是一个反模式,所以对于我正在研究的代码,匿...

使用Java ScriptEngine(Groovy),如何使其更高效?【代码】

我在我的应用程序中使用ScriptEngine来评估我的应用程序中的一些客户端代码.问题是它不够高效,我需要采取措施来改善执行时间.目前,最多可能需要1463毫秒(平均约300毫秒)来评估一个极其简单的脚本,这个脚本基本上是URL中的参数替换. 我正在寻找简单的策略来提高性能,而不会失去脚本编写能力. 我首先想到它集合ScriptEngine对象并重用它.我在规范中看到它意味着可以重复使用,但我没有找到任何实际做过的人的例子. 有任何想法吗?这是...

java – 使用死Groovy代码定位填充PermGen的代码【代码】

我们已经使用java.lang.OutOfMemoryError:PermGen空间每两周对我们的glassfish实例进行一段时间的研究.我将PermGen空间增加到512MB,并使用jstat -gc将startint转储内存使用量.两周后,我想出了下图,显示了PermGen空间是如何稳定增加的(x轴上的单位是分钟,y轴是KB). 我试着用谷歌搜索某种可以查明错误的分析工具,并在SO上提到一个线程提到jmap,这被证明是非常有帮助的.在从jmap -permstats $PID转储的大约14000行中,大约12500行包含...

java – 了解Groovy / Grails类加载器泄漏【代码】

昨天我将我的第一个Grails(2.3.6)应用程序部署到开发服务器并开始监控它.我刚刚得到一个自动监视器,说明CPU被固定在这台机器上,所以我连接到它.我跑了顶,发现是我的Java应用程序的PID固定服务器.我也注意到内存是40%.几秒钟后,CPU停止固定,降至正常水平,内存恢复到~20%范围内.经典主要GC. 在收集的同时,我做了堆转储.在GC之后,我在JVisualVM中打开了转储,看到大部分内存都是为org.codehaus.groovy.runtime.metaclass.MetaMethodI...

java – Groovy:使用JAX-B Object的特定属性创建Map【代码】

我有一个示例LEDES XML文件https://codebeautify.org/xmlviewer/cbdc79e7 使用JDK的xjc生成Ledesxmlebilling21类,如下所示,Ledes21.xsd schema https://codebeautify.org/xmlviewer/cb974a2exjc -d src ledes21.xsd我正在使用JAX-B将XML转换为Java对象,如下所示Ledesxmlebilling21 XMLtoObject(InputStream fis) throws Exception {JAXBContext context = JAXBContext.newInstance(Ledesxmlebilling21.class)Unmarshaller um = con...

java – 为什么我得到编译错误“org / codehaus / groovy / control / CompilationFailedException”?【代码】

我正在尝试使用Ant脚本和Java编译我的JasperReports模板.我收到此错误:jasper java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException模板中没有任何复杂的东西,但我仍然无法编译.解决方法:您必须将模板中的语言值设置为Java.有两种方法可以做到这一点: >如果您使用的是iReport,请在报表检查器中选择根对象(与报表同名的对象).然后在“属性”窗口中,从“语言”下拉列表中选择“Java”.>如果您...

java – Groovy DexArchiveBuilderException【代码】

我想将Groovy包含在我的Android Studio项目中. 我按照https://github.com/groovy/groovy-android-gradle-plugin的说明进行操作.当我使用gradle文件同步我的项目时,一切正常.但是,当我想运行我的应用程序时,它会抛出一个DexArchiveBuilderException.这是堆栈跟踪:com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\dir43378\.gradle\ca...

java – Groovy 2.5.0为methodcalltransformation提供了noclassdeffounderror【代码】

当我将我的项目从Groovy 2.4.*升级到Groovy 2.5.0时,它为org / codehaus / groovy / ast / methodcalltransformation提供了noclassdeffounderror使用Gradle进行编译时. 它在Groovy 2.4中运行良好. 在这里发布整个例外:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileGroovy'.at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecut...

无法将Groovy代码添加到现有的Maven Java项目“def无法解析为类型”

这可能是非常简单的事情,但我似乎无法做到正确.我有一个Spring MVC 3.0应用程序,我想使用一些groovy代码. 问题 当我添加Groovy代码(Groovy Classes)并开始定义我的变量IDE(我的案例中是SpringSource Tool Suite)告诉我“def无法解析为类型” 我做了什么 >创建了一个名为src / main / groovy的源文件夹>创建.groovy类添加了一个def msg =’Hello’的方法>向Classpath添加了Groovy库>通过IDE进行项目/清理> IDE(STS)仍告诉我“def无法...

如何编写可以接受groovy闭包的java类方法【代码】

这就是我想要做的事情: 我有一个名为RowCollection的类,它包含一个Row对象的集合,其中有一个名为edit的方法,它应该接受另一个对Row对象进行操作的方法(或闭包)作为参数. 一个groovy脚本将以下列方式使用此类的对象:rc.edit({ it.setTitle('hello world') }); // it is a "Row" object我的问题: > RowCollection#edit的签名是什么样的?>它的实现是什么样的?解决方法:作为替代方案,如果你使RowCollection实现Iterable< Row>并提...

java – eclipse插件和maven依赖项中存在的’groovy-all’jar之间的兼容性问题【代码】

在我的POM中,有一个依赖:spock-core 1.0-groovy-2.3,它将groovy-all 2.3.10添加到我的项目中.而且,我的eclipse groovy插件包含groovy-all 2.3.7 jar.因此,每当我尝试运行我的groovy spec文件时,都会抛出以下错误:groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.3.7 and you are trying to load version 2.3.10所以,为了匹配我给我留下的两个选项: >降级spock-co...

Groovy中的java.util.ConcurrentModificationException【代码】

我有这段代码:void remove(){boolean allowRemove = false;violations.each{if(it.selected) allowRemove = true;}if(!allowRemove) throw new Exception("No item selected!");if(allowRemove){def templist = violations;templist.each{ if(it.selected) templist.remove(it) }violations = templist;tableHandler.reload();}}每次执行此代码时,我的应用程序都会抛出一个错误:java.util.ConcurrentModificationException.我找到...

Java和Groovy的正则表达式引擎是一样的吗?

现在我正在基于Groovy中的正则表达式做一些代码.但是为了创建和测试我的正则表达式,我使用了引用Java正则表达式引擎和面向Java的http://www.regexplanet.com/advanced/java/index.html的书籍. 我有点害怕 – Groovy正则表达式引擎和Java一样吗?我知道他们非常接近.但他们有一些差异吗?如果你知道答案 – 你能否就这个问题给我一些参考?解决方法:从language documentation:The pattern operator (~) provides a simple way to ...

你如何设置一个maven java项目,也可以使用groovy?

我正在使用maven来管理我们的构建/发布的大型现有Java项目.我有兴趣使用groovy来替换我们的Java类,我们可以从中受益于它的动态特性. 我如何使用maven进行此操作?解决方法:你试过the gmaven plugin吗?

验证文件/获取Java / Groovy中的真实文件类型?【代码】

我需要确定文件是否属于给定的一组真实类型,我想知道最好的方法是什么. 基本上,我真的只需要检查PDF,图像和一些微软word文件类型.我听说过使用imagemagick和捕获异常来进行图像测试,但其他的呢? 有任何想法吗?解决方法:有一些方法可以获取MIME类型on this page here 前几个例子根据文件扩展名猜测MIME类型,正如它所说,更健壮的方法是使用Apache Tika framework,它支持many file types. 以下是使用Tika(在Groovy中)的示例:// Gra...

java – 在Groovy中查找本月的第n个工作日【代码】

有谁知道在Groovy中计算当月第n个工作日的最佳方法? 即2011年四月(4)的第7个工作日,即4月11日.解决方法:我写了一个quick DSL for working with days(链接的例子显示在英国度假) 使用它来查找(例如)今年9月(2011年)的第5个工作日,您可以:// 5th weekday in September println new DateDSL().with {every.weekday.in.september( 2011 ) }[ 4 ]哪个打印Wed Sep 07 00:00:00 UTC 2011使用您的示例,您将执行以下操作:// 7th Weekday ...

java – 使用变量在Groovy中定义地图【代码】

我何时使用['type':x, z:y]哪里x = 'Car' z = 'Speed' y = '1000'我得到一张等于的地图[type=Car, z=1000]并不是[type=Car, Speed=1000]我该如何克服它?解决方法:用()环绕z['type':x, (z):y]按照docs.

java – groovy中的POGO是什么

有人可以解释我在常规中的POGO是什么,并且在Java中POGO和POJO之间有什么区别吗?解决方法:Groovy POGO对Java POJO有不同的行为,即: >所有属性的隐式getter和setter>无论使用类型访问修饰符,哪些都是公共的>它们包含比Java更复杂的元编程功能>并命名基于地图的默认构造函数

groovy程序设计【代码】

/********** groovy中Object类型存在隐式转换 可以不必使用as强转*/Object munber = 9.343444def number1 = 2println munber - number1if (number1 < munber) {println 转换了}/************* 测试groovy中空字符串运算*/def str1 = "8"def str2 = "-1"def str3 = "*2"GroovyShell shell = new GroovyShell()println shell.evaluate(str1 + str2)println shell.evaluate(str1 + str3)/*** 测试字符串*/def str5 = javadef str6 = ...