Questions tagged «groovy»

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

21
Grails(现在)值得吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 12个月前关闭。 改善这个问题 我知道这是重复的,但是,自从一年多前提出这个问题以来,Grails世界已经有了长足发展,Eclipse中的IDE支持也是如此,所以请不要盲目关闭它。 我以为答案是肯定的,并且已经开始使用Grails 1.2.0进行新项目,并且对STS Eclipse Integration的Groovy / Grails情有独钟。 我认为在经过一年的Grails演变之后,这个问题肯定是混杂的,值得重新讨论这个问题。 因此,作为一名经验丰富的Java Web开发人员,我有以下问题,并且很欣赏我的假设受到挑战: Grails现在值得与Ruby对抗还是自己动手? 它克服了越野车的起步吗? 它真的赋予快速发展利益吗? (我承认我现在正在努力地进行广泛的基准配置,以使我的定制应用程序不是面向列表和页面的) 它可用于现实世界的生产应用程序吗? (感觉很重) Eclipse插件是否比以前更好并且适合特定目的?(我认为还没有) 谢谢 编辑: 我正在学习中,我对使用框架有很多重要的了解-而不是框架本身。我添加这些内容是因为我认为它们应该作为考虑因素,并基于我的经验和观点,并且可能会帮助试图决定是否放牧的人。我可能还显示出我缺乏该框架的经验,因此,这些都不是一成不变的批评。我是一位经验丰富的开发人员,这是我所发现的: 调试真的很难。实际上,这几乎是不可能的,尤其是对于框架的初学者而言,这是您最需要可信赖的调试器朋友的时候。我花了更多的时间来跟踪代码中某些部分的语法错误问题,这涉及到引用导致堆栈中某些地方出现静默故障的域字段。 坦率地说,日志记录很糟糕。您有两种模式,“无用”和“大量无用的东西”。单个页面请求后,我的调试日志为128Mb,其中不包含有关我的错误的信息。我认为整个日志记录问题都需要在框架中重新考虑。 STS Eclipse IDE具有边际价值。除了语法提示以外,它没有太多用处。您无法调试代码,因此它是出色的编辑器。代码提示是不完整的,据我所知,根本没有GSP支持。这也是我桌面上最慢的Eclipse插件-大约需要2分钟才能启动。令人震惊的缓慢。我已经恢复到文本编辑器(您会注意到所有在线教程视频也都这样做)和一些自定义语法提示。 我对性能有一些严重的担忧。现在说还为时过早,但是由于休眠,我已经发现自己正在调整数据库。也许这是意料之中的,但是我真的必须保持我的域模型简单,以使约定产生性能查询。 最后一点,关于逻辑域模型和物理数据库模型应该相同的约定不是明智的默认选择,在现实世界中不可能如此。我知道您可以将两者分开,但这会造成一定程度的复杂性,我认为如果扩展约定,可以避免。没有足够的文档来说明合成以及在实际操作中需要做什么。

7
Groovy字符串至今
我正在用Groovy编码 我目前正在尝试将必须转换为日期的字符串转换为日期,而不必执行任何过于繁琐的操作。 String theDate = "28/09/2010 16:02:43"; def newdate = new Date().parse("d/M/yyyy H:m:s", theDate) 输出: Tue Aug 10 16:02:43 PST 2010 上面的代码可以正常工作,但是当我的字符串变为类似以下内容时: String testDate = "Tue Aug 10 16:02:43 PST 2010" def newerdate = new Date().parse("d/M/yyyy H:m:s", testDate) 它告诉我,“ Tue没有这样的价值”。我试图在日期的解析中添加“ E”,但该日期无法解析。 有人可以解释我应该如何解析第二个示例吗?
72 string  parsing  date  groovy 

6
如何在groovy中获取正在运行的脚本的路径?
我正在编写一个普通脚本,希望通过存储在同一文件夹中的属性文件进行控制。但是,我希望能够从任何地方调用此脚本。当我运行脚本时,它总是根据运行位置而不是脚本的位置查找属性文件。 如何从脚本内部访问脚本文件的路径?
68 groovy 

8
IntelliJ IDEA和Gradle-无法应用于'(groovy.lang.Closure)'
我有一个Gradle文件,每当在IntelliJ IDEA 14.1.5中加载该文件时,它会显示整个文件的IDE错误。即所有错误似乎是: java.lang.String错误 要么 groovy.lang。关闭错误 我试图清除文件的内容,只写第一行: group 'com.me.blah' 但即使那样也会导致错误。 出于上下文考虑-这是一个较大的SpringBoot项目中的一个单独模块。该模块是一组简单的静态文件(使用Gradle进行CSS编译,静态分析等),而其余模块是Java模块,并非Gradle问题。 谁能想到IntelliJ为什么要努力理解此Gradle文件吗?

12
找到对集合org.hibernate.HibernateException的共享引用
我收到此错误消息: 错误:找到对集合的共享引用:Person.relatedPersons 当我尝试执行时addToRelatedPersons(anotherPerson): person.addToRelatedPersons(anotherPerson); anotherPerson.addToRelatedPersons(person); anotherPerson.save(); person.save(); 我的网域: Person { static hasMany = [relatedPersons:Person]; } 知道为什么会这样吗?


8
如何基于方向元数据旋转JPEG图像?
我有一些服务器代码,当上载图像时会生成缩略图。问题在于,即使在任何图像查看软件中以正确的方向显示完整尺寸的图像时,当拍摄图像并旋转相机/设备时,缩略图也会旋转。只有jpg会发生这种情况。 使用OSX上的Preview,我可以看到jpg内嵌了方向元数据。当我使用ImageTools(Grails插件)生成缩略图时,EXIF元数据不在缩略图中,这就是缩略图显示为旋转状态的原因。 通过脱机对话,我了解到虽然读取EXIF元数据相对容易,但是没有简单的写入方法,这就是为什么在生成jpg缩略图时数据会丢失的原因。 所以看来我有两个选择: 使用ImageMagick生成缩略图。缺点是它需要在我们的服务器上安装更多软件。 读取EXIF方向数据是代码并适当旋转缩略图。 有人知道其他选择吗?

1
詹金斯解释一行上的多个对象声明
这不是问题,而是一个警告性的故事:我试图节省一些空间,并在Jenkins Declarative管道中声明我的变量,如下所示: int a, b, c 然后,我将它们初始化为: a = b = c = 0 在我的代码中,我将这些整数用作for循环中的计数器。我的脚本不断失败,引发了一些异常: java.lang.NullPointerException: Cannot invoke method next() on null object 而且我肯定知道我的清单是经过硬编码的,因此是有效的。因此,我开始想知道这些计数器是怎么回事,当我在它们上调用getClass()时,詹金斯高兴地告诉我它们不是整数,而是 org.codehaus.groovy.runtime.NullObject 将代码更改为 int a = 0 int b = 0 int c = 0 一切都像魅力。只是想分享这个。也许它将帮助某人节省一些挫败感。

3
传递变量beetwen groovy文件
我正在通过DSL插件管理Jenkins中的许多工作。该插件使用.groovy定义,因此我认为即使有人不使用Jenkins,但使用groovy可能也可以提供帮助。 通常,我想创建一个其他文件,该文件可以是groovy文件,JSON或YAML等。重要的是可以将该文件与我的.groovy文件连接。 在该文件中,我正在定义变量(而不是字符串),例如地址IP或其他内容。 ip_gitlab: 1.2.3.4 default_user: admin 在我的常规文件中,我希望能够使用这些变量。 这种方法在常规中可行吗?
9 java  jenkins  groovy  dsl 
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.