无法在groovy gradle中创建AntBuilder对象
发布时间:2020-12-14 16:21:35 所属栏目:大数据 来源:网络整理
导读:当尝试在groovy文件中创建AntBuidler对象时,我遇到异常 java.lang.NoClassDefFoundError: org/apache/tools/ant/BuildExceptionat java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:
当尝试在groovy文件中创建AntBuidler对象时,我遇到异常
java.lang.NoClassDefFoundError: org/apache/tools/ant/BuildException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) at java.lang.Class.getDeclaredConstructors(Class.java:1901) ..... at at features.step_definitions.RewardEventsGeneration.GetEventXML(RewardEventsGeneration.groovy:40) 在?.然后应生成updateLoyaltyInfo事??件 我已将相关的jar添加到我的lib文件夹中,然后放在build.gradle下的代码下面 repositories { mavenCentral() flatDir { dirs 'lib' } } 我的代码如下 def GetEventXML (userId,eventTypeIn) { def Host = "10.77.69.14" def UserName = "system" def Password = "password" def Path = "/temp" def eventTypeToLookFor = "eventType="$eventTypeIn"" def resultAsString = "" as String def commandToRun = "grep -lH $userId $Path/*.xml | xargs grep -l '$eventTypeToLookFor' | cut -d: -f1" def antEventCheck = new AntBuilder(); ********** Error line ****************** antEventCheck.sshexec( trust:'true',host:Host,username:UserName,password:Password,command:commandToRun,verbose:'true',timeout:'10000',failonerror:'false',outputproperty:'eventCheckResult'); resultAsString = antEventCheck.properties.eventCheckResult.toString() return resultAsString } 的build.gradle dependencies { ext.groovyVersion = "2.0.4" ext.cucumberJvmVersion = "1.1.5" ext.httpclientVersion = "4.2.1" cucumberRuntime files("${jar.archivePath}") compile ('com.jcraft:jsch:0.1.49') compile('com.github.groovy-wslite:groovy-wslite:0.8.0') groovy("org.codehaus.groovy:groovy-all:${groovyVersion}") compile("org.apache.httpcomponents:httpmime:4.1.2") compile("org.codehaus.groovy.modules.http-builder:http-builder:0.5.2") { exclude group: "org.codehaus.groovy",module: "groovy" } compile("net.sf.json-lib:json-lib:2.4:jdk15") compile("javax.mail:mail:1.4.5") compile("org.apache.httpcomponents:httpclient:${httpclientVersion}") compile("org.codehaus.geb:geb-core:0.7.2") { exclude group: "org.codehaus.geb",module: "geb-implicit-assertions" } drivers.each { driver -> testCompile "org.seleniumhq.selenium:selenium-$driver-driver:$version.selenium" } compile("org.seleniumhq.selenium:selenium-support:2.25.0") compile("log4j:log4j:1.2.17") testCompile("junit:junit:4.10") testCompile("info.cukes:cucumber-groovy:${cucumberJvmVersion}") testCompile("info.cukes:cucumber-junit:${cucumberJvmVersion}") } 感谢您的评论 解决方法
以下工作完美
正如Peter的回答所指出的那样,添加flatDir是不够的.需要将依赖项添加到依赖项中 repositories { mavenCentral() flatDir { dirs 'lib' } } dependencies { compile("ant:ant:1.7.0") } 谢谢彼得 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |