草庐IT

java - Java 中的 Groovy @Immutable 类

我经常推荐Groovy的@ImmutableAST转换作为使类不可变的简单方法。这与其他Groovy类一起工作总是很好,但最近有人问我是否可以将这些类混合到Java代码中。我一直认为答案是肯定的,但我遇到了障碍。假设我有一个不可变的User类:importgroovy.transform.Immutable@ImmutableclassUser{intidStringname}如果我使用用Groovy编写的JUnit测试来测试它,一切都会按预期进行:importorg.junit.TestclassUserGroovyTest{@TestvoidtestMapConstructor()

java - Jenkins 管道和 java.nio.file.* 方法的问题

我正在尝试使用java.nio.file.*中的方法在Jenkins管道中执行一些基本文件操作。无论代码存在于哪个节点block,代码都在主节点上执行。在管道中,我已经验证了各种节点block是正确的——它们唯一地标识特定节点。但是,pathExists(以及其他移动、复制或删除文件的代码)始终在主节点上执行。知道发生了什么或如何解决它吗?importjava.nio.file.*StringslavePath='C:\\Something\\only\\on\\slave\\node'StringmasterPath='D:\\Something\\only\\on\\master\

java - 打开 https URL : keyCertSign bit is not set 时出错

我正在使用以下代码调用远程httpsURL:definputStream=newURL("https://somewebsite.com").openStream()这在我的本地机器上运行良好,但是当我部署到服务器时,出现以下异常:java.security.cert.CertPathValidatorException:CAkeyusagecheckfailed:keyCertSignbitisnotset此错误的原因是什么?是什么原因导致它在一台机器上而不是另一台机器上运行?更新我在生产环境中运行Ubuntu服务器,并在本地Mac上进行开发。我尝试访问的网站(我们称之为people

java - IntelliJ IDEA Gradle + Groovy

我是IDEA的新手。我想做的是拥有一个项目(或模块?),它具有Maven文件夹结构(又名src/main/java、src/main/groovy、src/test/groovy等),由Gradle管理并支持创建Groovy类及其编译和执行。我尝试过的:创建一个“Groovy”项目。我可以添加“Maven”支持,但不能添加Gradle。创建一个“Gradle”项目并向其中添加“Groovy”模块我可以管理依赖项和插件,但文件结构一团糟。代码进入项目的子文件夹(也就是模块的名称)我无法直接将文件夹添加到模块的“src”。当我将它们复制到src文件夹时,它们被视为包名称。我在找什么:特定问

java - 在 Groovy 中收集执行外部命令的输出的差异

以下代码多次卡住(我认为这是阻塞I/O)(有时可以工作)。defstaticexecuteCurlCommand(URL){defurl="curl"+URL;defproc=url.execute();defoutput=proc.in.text;returnoutput;}但是当我将代码更改为defstaticexecuteCurlCommand(URL){defurl="curl"+URL;defproc=url.execute();defoutputStream=newStringBuffer();proc.waitForProcessOutput(outputStream,S

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 - Gradle:如何列出所有 "given tests"

我试试下面的代码:roroco@roroco~/Dropbox/jvs/ro-idea$gradletest--tests"ro.idea.ToggleTest.testIsAd":ro:compileJavaUP-TO-DATE:ro:processResourcesUP-TO-DATE:ro:classesUP-TO-DATE:ro:jar:compileJava:processResourcesUP-TO-DATE:classes:compileTestJava:processTestResourcesUP-TO-DATE:testClasses:test:ro:compileT

java - jar 的 Gradle 自定义任务

我正在为我的Java项目使用Gradle,我想知道是否有可能阻止gradlebuild每次执行时都创建一个jar文件。此外,是否可以在特定位置build/myAppJar/创建具有依赖项的Jar的自定义任务。到目前为止,这是自定义任务的内容:tasktoJar(type:Jar){fromconfigurations.compile.collect{zipTreeit}manifest{attributes'Implementation-Title':'myApp','Implementation-Version':1.0,'Main-Class':mainClassName}}以上代