Questions tagged «groovy»

Groovy是Java平台的一种面向对象的编程语言。这是一种动态语言,其功能类似于Python,Ruby,Perl和Smalltalk。它可以用作Java平台的脚本语言。



6
Groovy-如何比较字符串?
如何比较作为参数传递的字符串 以下方法无效。 String str = "saveMe" compareString(str) def compareString(String str){ def str2 = "saveMe" if(str2==${str}){ println "same" }else{ println "not same" } } 也尝试过 String str = "India" compareString(str) def compareString(String str){ def str2 = "india" if( str2 == str ) { println "same" }else{ println "not same" } }
82 groovy 

12
詹金斯管道NotSerializableException:groovy.json.internal.LazyMap
已解决:感谢S.Richmond的以下答复。我需要取消设置所有groovy.json.internal.LazyMap类型的存储映射,这意味着使变量无效envServers并object在使用后。 附加:搜索此错误的人员可能有兴趣使用Jenkins管道步骤readJSON-在此处查找更多信息。 我正在尝试使用Jenkins Pipeline从用户那里获取输入,该输入作为json字符串传递给作业。管道然后使用隔离程序对此进行解析,然后我选择了重要信息。然后,它将使用该信息以不同的作业参数并行运行1个作业。 直到我"## Error when below here is added"在脚本下方添加代码,该脚本才能正常运行。甚至低于该点的代码也将独立运行。但是当结合在一起时,我得到以下错误。 我应该注意,已触发的作业已被调用并确实成功运行,但是发生以下错误并使主作业失败。因此,主作业不等待触发作业的返回。我可以尝试/赶上,build job:但是我希望主要作业等待触发的作业完成。 有人可以在这里协助吗?如果您需要更多信息,请告诉我。 干杯 def slurpJSON() { return new groovy.json.JsonSlurper().parseText(BUILD_CHOICES); } node { stage 'Prepare'; echo 'Loading choices as build properties'; def object = slurpJSON(); def serverChoices = []; def serverChoicesStr = ''; for (env in object) { envName …

6
如何在build.gradle中定义和调用自定义方法
作为项目的一部分,我需要从目录中读取文件并在构建脚本中进行所有这些操作。对于每个文件,操作是相同的(读取一些sql查询并执行)。我认为这是一项重复的任务,最好在方法内部编写。由于我是新手,所以我不知道应该怎么做。请帮忙。
79 groovy  gradle 

4
Jenkinsfile中的构建失败
在某些情况下,我想使构建失败。我怎么做? 我试过了: throw RuntimeException("Build failed for some specific reason!") 实际上,这确实会使构建失败。但是,日志显示异常: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use new java.lang.RuntimeException java.lang.String 这会使用户感到困惑。有没有更好的办法?

2
Groovy XmlSlurper与XmlParser
我在这个主题上搜索了一段时间,并找到了一些结果,我将在发布结尾处提及。有人可以帮我准确地回答下面列出的三个问题吗? 对于XmlSluper而言,哪些用例比XmlParser更有意义,反之亦然(从API /语法的易用性的角度来看)? 哪一个内存效率更高?(看起来像Slurper) 哪一个处理xml的速度更快? 情况一 当我必须读取xml中的几乎所有节点时? 情况b。什么时候我只需要读取几个节点(例如使用gpath表达式)? 情况c。当我必须更新/转换xml时? 如果xml文档不是琐碎的(具有xml的深度和大小)。 资源: http://www.tutkiun.com/2009/10/xmlparser-and-xmlslurper.html指出: XMLParser和XMLSlurper之间的区别: XMLParser和XMLSlurper在用于简单阅读时有相似之处,但是当我们将它们用于高级阅读时以及在处理其他格式的XML文档时,两者之间存在差异。 XMLParser在分析文档后存储中间结果。但另一方面, 处理XML文档后,XMLSlurper不存储内部结果。 处理已解析的信息时,真正的根本区别变得明显。那就是在直接就地数据处理和流场景中进行处理时。 http://groovy.dzone.com/news/john-wilson-groovy-and-xml groovy文档(XmlParser,XmlSlurper)和groovy的站点(在这里和这里)对它们的解释很好,但是在解释上述问题方面做得并不出色。

2
了解Gradle任务定义中的常规语法
我是Gradle和Groovy的新手,并试图了解定义gradle任务时在groovy级别正在发生的事情。 task hello { println "configuring task hello" doLast { println "hello there" } } 通过阅读《 Gradle In Action》一书,我知道task hello {}确实是task()对GroovyProject接口方法的呼唤。在第77页上,它显示了Project接口上有4个称为task的方法 task(args: Map<String,?>, name:String) task(args: Map<String,?>, name:String, c:Closure) task(name: String) task(name: String, c:Closure) 我了解{}就是封闭体。 我不明白的是groovy如何根据https://stackoverflow.com/a/25592665/438319进行解释hello,其中有一个groovy编译器插件可以转换为task hello { }task hello { }task('hello', { }) 我的问题: 在哪里可以找到有关进行转换的Gradle Groovy Compiler插件的信息? 因为gradle以某种方式扩展了Groovy编程语言,所以说Gradle脚本是groovy程序在技术上是不正确的吗? 有没有办法让gradle命令打印出在编译器插件运行后生成的基本groovy代码?
78 groovy  gradle 

30
Groovy的隐藏功能?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 似乎Groovy在该线程中被遗忘了,所以我只想向Groovy询问相同的问题。 尝试将答案限制在Groovy核心上 每个答案一个功能 提供功能的示例和简短描述,而不仅仅是文档的链接 使用粗体标题作为第一行标记功能 也可以看看: Python的隐藏功能 Ruby的隐藏功能 Perl的隐藏功能 Java的隐藏功能
78 groovy 

7
Groovy内置的REST / HTTP客户端?
我听说Groovy具有内置的REST / HTTP客户端。我唯一可以找到的库是HttpBuilder,这是吗? 基本上,我正在寻找一种从Groovy代码内部执行HTTP GET的方法,而不必导入任何库(如果可能的话)。但是由于该模块似乎不是核心Groovy的一部分,所以我不确定此处是否具有正确的库。

3
Jenkins管道如何更改到另一个文件夹
目前,我正在使用Jenkins管道脚本。 要运行一个命令,我需要访问其工作区目录外部的文件夹。 我尝试过sh "cd $workspace/",但是它返回了当前的工作区文件夹。 如何更改为根工作区目录,然后cd到另一个文件夹。请帮忙。


3
Groovy-将对象转换为JSON字符串
我已经习惯了Grails转换器,您可以在其中将任何对象转换为JSON表示形式,就像这样(http://grails.org/Converters+Reference) return foo as JSON 但是在普通的习惯中,我找不到一种简单的方法来做到这一点(http://groovy-lang.org/json.html) JSONObject.fromObject(this) 返回空的json字符串... 我是否缺少明显的Groovy转换器?或者我应该去杰克逊图书馆还是吉森图书馆?
74 json  groovy 

10
如何访问参数化版本中的参数?
您如何访问parameters“工作流程” Jenkins作业的“此构建已参数化”部分中的设置? 测试用例 创建一个工作流作业。 启用“此构建已参数化”。 添加foo具有默认值的STRING PARAMETER bar text。 将以下代码添加到Workflow Script: node() { print "DEBUG: parameter foo = ${env.foo}" } 运行工作。 结果 DEBUG: parameter foo = null

6
如何捕获传递给Groovy脚本的参数?
我只是从Groovy开始。我在任何地方都找不到如何处理Groovy脚本参数的示例,因此我自己修改了此方法。一定有更好的方法可以做到这一点?如果是这样,我正在寻找这种更好的方法,因为我可能忽略了显而易见的方法。 import groovy.lang.Binding; Binding binding = new Binding(); int x = 1 for (a in this.args) { println("arg$x: " + a) binding.setProperty("arg$x", a); x=x+1 } println binding.getProperty("arg1") println binding.getProperty("arg2") println binding.getProperty("arg3")

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.