草庐IT

groovy-spread

全部标签

java - 从 java 执行 groovy 脚本时如何阻止对某些类的访问?

我对groovy和一般用java编写脚本还很陌生,我真的希望有一个简单的解决方案来解决我的问题。在我们的应用程序中,用户可以执行他们编写的groovy脚本他们自己,我们需要控制这些脚本能做什么,不能做什么。我读了很多关于沙盒groovy的东西,但要么我正在看错误的地方,或者我忽略了显而易见的地方。为了简单起见,我有一个小例子来演示这个问题。这是我的类加载器,它应该防止java.lang.System被加载并可供脚本使用:publicclassMyClassLoaderextendsClassLoader{@OverridepublicClassloadClass(Stringname)

java - 在 groovy 闭包中的 newInstance 上找不到要从此列表调用哪个方法 <init>()

我正在学习groovy,我正在尝试使用所有字段的默认值动态初始化我的类。所以我是如何进行的,我正在获取所有属性的列表并获取该对象的类型并创建该类型的对象,但是在执行newInstance时出现错误:Exceptioninthread"main"org.codehaus.groovy.runtime.metaclass.MethodSelectionException:Couldnotfindwhichmethod()toinvokefromthislist:publicjava.lang.Boolean#(boolean)publicjava.lang.Boolean#(java.la

java - 找不到更新日志 changelog.groovy

我在IntellijIDEA11.1.3中创建了新的Grails项目并尝试运行它。当我打开http://localhost:8080/application/dbdoc(访问Controllergrails.plugin.databasemigration.DbdocController的默认操作)时,我不断收到消息:Changelogchangelog.groovynotfound虽然,文件changelog.groovy存在于我项目的文件系统中的文件夹./grails-app/migrations中。我已经使用命令生成了它:grailsdbm-create-changelogcha

java - 用于生产的好的断言类? Java 相当于 Groovy 的 PowerAssert?

我不喜欢javaassert关键字,因为它并不总是在生产代码中启用。我正在寻找一个很好的“ProductionAssert”类来使用,它总是运行注意到的断言。一个候选人是Guava'sPreconditions.它很不错,但有点受限(例如,没有assertEquals()、assertNull()、assertGreaterEquals())。一种替代方法是包括jUnit或其他测试框架……但我不愿意仅仅为了一个简单的断言类而依赖整个测试框架。如果我用Groovy编程,我会使用PowerAssert.Java有好的“ProductionAssert”类吗?附言-一种选择是最终检查类似Ja

java - 在使用 Gradle 构建的 Groovy 项目中抑制 Java 警告 "Unsafe is internal proprietary API"

我有一个使用Gradle(1.8)构建的Groovy项目,其中一些Java类报告以下编译器警告消息:warning:UnsafeisinternalproprietaryAPIandmayberemovedinafuturereleaseimportsun.misc.Unsafe;有没有办法抑制该错误消息?我找到了一些建议使用javac编译器选项-XDignore.symbol.file的答案,但在使用Groovy插件时我无法将其应用到Gradle构建中。有什么解决办法吗?谢谢 最佳答案 将以下内容添加到您的gradle.build

java - Grails maven 插件需要 Groovy 2.4.2

我升级到Grails2.4.2,因为据说它修复了导致它生成错误的pom.xml文件的maven插件的错误。现在,当我尝试使用mvncleaninstall运行2.4.2生成的pom时,我收到以下错误消息:[ERROR]Failedtoexecutegoalorg.grails:grails-maven-plugin:2.4.2:maven-compile(default-maven-compile)onprojectPROJECT:FailedtocreateclasspathforGrailsexecution.Failuretofindorg.codehaus.groovy:gro

Java 与 Groovy 内部/外部类差异

Java:publicfinalclassOuter{publicstaticvoidmain(String[]args){Inner.inner();}privatestaticfinalclassInner{privatestaticvoidinner(){System.out.println("inner");outer();}}privatestaticvoidouter(){System.out.println("outer");}}运行时的输出:innerouter常规:publicfinalclassOuter{staticmain(String[]args){Inner

java - Java 8 Lambda 表达式的 Groovy 等价物

我只用一种方法得到了这个Java接口(interface)。//JavaInterfacepublicinterfaceAuditorAware{AuditorgetCurrentAuditor();}我使用Java8Lambda表达式创建AuditorAware的实例,如下所示。//Java8LambdatocreateinstanceofAuditorAwarepublicAuditorAwarecurrentAuditor(){return()->AuditorContextHolder.getAuditor();}我正在尝试在Groovy中编写上述Java实现。我看到有很多方法

java - 工匠CMS : Crafter Engine doesn't seem to notice changes in the/classes/groovy folder

CrafterEngine似乎没有注意到/classes/groovy文件夹中的文件发生了变化。当我们在那里修改一个groovy文件时,需要重新启动Tomcat才能使用它。这是已知问题还是设计使然?/opt/crafter/master>grep-r/classes/groovyengine/engine/src/main/resources/crafter/engine/services/main-services-context.xml: 最佳答案 Groovy类成为类加载器的一部分,因此通常不会获取对它们的更改。应用更改的最佳

java - 从 Java 类访问 Config.groovy

当我的Grails应用程序启动时,我还会在后台启动SpringIntegration和Batch进程。我想将一些数据库连接属性存储在Config.groovy文件中,但如何从集成/批处理过程中使用的Java类访问它们?我找到了这个主题:ConvertingJava->Grails...HowdoIloadtheseproperties?建议使用:privateMapconfig=ConfigurationHolder.getFlatConfig();后面是类似的东西:Stringdriver=(String)config.get("jdbc.driver");这实际上工作正常(属性从C