Tag: groovy

Gradle – Groovy和Java类依赖 – 编译

我的项目有Java(N文件)和Groovy代码(仅1个文件)。 Java编译依赖于这个用于Java编译的单个Groovy文件的类文件(compileJava任务成功)。 当我不使用src / java作为main> groovy> sourceSet部分中的srcDir之一时,我得到一个错误,说明找不到类/符号,这是在groovy文件/类中。 在ANT中,我们很容易在调用compile-java目标之前首先调用compile-groovy目标,但Gradle中的相同内容正是我想要查找的内容。 我读了一些post,发现如果我将main> java section设为NULL并为main> java指定srcDir,这是src / java里面的main> groovy sourceSet部分,那么它编译得很好。 我的:1。还有其他办法吗? 例如,以下应该有效: compileJava { dependsOn compileGroovy } 但是,这是一个infinte循环。 要么 如何使用doFirst进行compileJava任务: compileJava { doFirst { compileGroovy } } 这也不起作用。 build.gradle这样可行 ,但是在某种意义上compileRava在这里变得无用,即使源代码有N否。 src / java或src / java-test等树中的java文件。 我知道这个构建脚本正在运行但从逻辑上讲,如果他/她不熟悉为什么源代码为Groovy必须将“src / java”作为其srcDir值,它可能会给开发人员带来一些困惑。 apply plugin: ‘java’ apply plugin: ‘groovy’ sourceSets { main { groovy […]

让JSPX不要创建自我结束标记( != )

JSPX具有转向的可爱副作用: 成: 对于许多浏览器而言,即使它是有效的XHTML,也会导致布局混乱和混乱。 因此,我使用了一个groovy脚本,使用以下正则表达式查找所有可能的错误HTML: def m = html =~ /]*?>/ def bad = m.findAll { it[1] == it[2] }; 有没有办法让JSPX XML处理器不自动关闭标签?

使用Groovy解压缩存档

Groovy中是否有内置的支持来处理Zip文件(groovy方式)? 或者我是否必须使用Java的java.util.zip.ZipFile来处理Groovy中的Zip文件?

Java / Groovy中的Base64编码

在Java中将byte []转换为Base64字符串的正确方法是什么? 更好的是Grails / Groovy因为它告诉我不推荐使用encodeAsBase64()函数。 建议不要使用sun.misc.BASE64Encoder包,并在某些Windows平台上输出不同大小的字符串。

如何从命令行使用’java’调用groovy

我必须将一些groovy代码发送给一些只安装了java的用户(没有grooy,没有$ groovy_home等)。 我试图从命令行调用groovy,但我没有运气。 这是我的bat文件: java -classpath .;lib;bin;bin-groovy introspector.AclCollector 这是我的例外: Exception in thread “main” java.lang.NoClassDefFoundError: groovy/lang/GroovyObject at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovyObject at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at […]

使用Java ScriptEngine(Groovy),如何使其更高效?

我在我的应用程序中使用ScriptEngine来评估我的应用程序中的一些客户端代码。 问题是它不够高效,我需要采取措施来改善执行时间。 目前,最多可能需要1463毫秒(平均约300毫秒)来评估一个非常简单的脚本,这个脚本基本上是URL中的参数替换。 我正在寻找简单的策略来提高性能,而不会失去脚本编写能力。 我首先想到它汇集ScriptEngine对象并重用它。 我在规范中看到它意味着可以重复使用,但我没有找到任何实际做过的人的例子。 有任何想法吗? 这是我的代码: ScriptEngineManager factory = new ScriptEngineManager(); GroovyScriptEngineImpl engine = (GroovyScriptEngineImpl)factory.getEngineByName(“groovy”); engine.put(“state”, state; engine.put(“zipcode”, zip); engine.put(“url”, locationAwareAd.getLocationData().getGeneratedUrl()); url = (String) engine.eval(urlGeneratorScript); 对于任何反馈,我们都表示感谢!

在groovy中排序地图

我有兴趣在groovy中使用有序映射(使用gremlin,它是用于图形数据库的DSL)。 我在这里查看了有关排序地图的博客文章 ,但我仍然有点困惑。 如何声明排序的地图? 是否与地图y = [:]的标准方式有什么不同? 使用有序地图时,插入到列表中的项目是否按插入顺序排列? 或者我必须在排序映射中的项目排序之前运行sort{} ?

防弹groovy脚本嵌入

我正在开发一个服务器应用程序,可以通过用户提供的Groovy脚本进行扩展。 很明显,我想确保这些脚本在非常紧凑的沙箱中运行,它们不会破坏核心应用程序代码或消耗太多资源来使服务器过载。 我已经研究了各种可能性,最终的解决方案可能是这些的组合: 在非常有限的安全管理器中运行脚本 。 该脚本在无权限的SecurityManager中运行。 必须声明其他权限(如Android)。 启动一个新的JVM 。 在Runtime.exec周围创建一个ScriptProcess包装器,并使用安全管理器,有限堆等生成新的JVM。因为我们启动了一个完整的流程,我们可能会对监视器的不良行为进行更多控制? 虽然资源成本很可怕……另一种方法是在这里使用Ant,但它是否可以扩展? Java Monitor API在Java 6中,有一个具有监视能力的包。 我们可以监视线程,也可以检测无限循环和内存消耗。 有人用过吗? 这些是我今天想到的。 确保这些脚本正常运行并保持一定的可伸缩性和性能的最佳方法是什么?

获取用Java或Groovy填充的有效oauth_signature的绝对最小代码?

所以我正在测试Rest OAuth实现。 我的测试工具将发送HTTP请求,但我需要准备Authorization标头。 我需要的是:我想要一个有效的授权标题 我拥有:除了oauth_signature之外的所有标题我还有2个秘密,即token_secret和consumer_secret。 我也拥有access_token。 所以它真的归结为,必须签署这个请求。 我怎么做? 简介 :我只需要为RESTful服务填充Authorization标头的oauth_signature部分。 我该怎么做? 基本上: oAuthHeader=”OAuth”; oAuthHeader=oAuthHeader+” oauth_signature_method=”+oauth_signature_method; oAuthHeader=oAuthHeader+”,oauth_version=”+oauth_version; oAuthHeader=oAuthHeader+”,oauth_nonce=”+oauth_nonce; oAuthHeader=oAuthHeader+”,oauth_timestamp=”+oauth_timestamp; oAuthHeader=oAuthHeader+”,oauth_consumer_key=”+oauth_consumer_key; oAuthHeader=oAuthHeader+”,oauth_token=”+oauth_token; oAuthHeader=oAuthHeader+”,oauth_signature=”+**oauth_signature**; Authorization = oAuthHeader; 我的问题是我没有oauth_signature部分。 我不知道如何得到它。 请帮助?

Sonar是否支持同一项目中的多种语言?

我正在为我的一个项目设置Sonar ,这是Groovy和Java的混合。 我能够为这些语言中的任何一种单独配置项目,但不能一起配置。 有没有办法做到这一点? 我试过这个 sonar.language = java,grvy 但没有工作