org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:Script7.groovy:1:无法解析类

时间:2012-10-29 21:33:00

标签: eclipse exception selenium groovy soapui

我在尝试运行soapui文件时遇到此错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed: Script7.groovy: 1: unable to resolve class com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate @ line 1, column 1.     
  import com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate
                             ^
org.codehaus.groovy.syntax.SyntaxException: unable to resolve class com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate @ line 1, column 1.
 at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:148)  
 at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1206)
 at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148)
 at org.codehaus.groovy.control.CompilationUnit$6.call(CompilationUnit.java:585)
 at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:832)
 at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:519)
 at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:495)
 at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:472)
 at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:292)
 at groovy.lang.GroovyShell.parseClass(GroovyShell.java:727)
 at groovy.lang.GroovyShell.parse(GroovyShell.java:739)
 at groovy.lang.GroovyShell.parse(GroovyShell.java:766)
 at groovy.lang.GroovyShell.parse(GroovyShell.java:757)
 at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:141)
 at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:90)
 at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
 at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:274)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:619)
 1 error

soapUI代码:

import com.company.ui.test.SoapUI_T11001_StockConsSecurityCurBusiDate

def env = testRunner.testCase.testSuite.project.getPropertyValue("env")
def baseUrl = testRunner.testCase.testSuite.project.getPropertyValue("baseUrl")

log.info("The baseurl is "+baseUrl)
log.info("The env under test is "+env)

SoapUI_T11001_StockConsSecurityCurBusiDate testStep = new SoapUI_T11001_StockConsSecurityCurBusiDate();
testStep.init(baseUrl);
testStep.execute(null);
日食代码:

package com.company.ui.test;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

import com.eviware.soapui.model.support.AbstractSubmitContext;
import com.eviware.soapui.model.testsuite.TestRunner;

public class SoapUI_T11001_StockConsSecurityCurBusiDate extends BaseSelenium{
   public static void main(final String[] args){
      final SoapUI_T11001_StockConsSecurityCurBusiDate ico = new SoapUI_T11001_StockConsSecurityCurBusiDate();
      try{
         ico.init("https://avncedevn1.nam.nsroot.net:17620/", false);
      }catch(Exception e){
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
      ico.execute(null);
   }
        //...code....
}

如何解决此错误?我不确定导致错误的是什么。

9 个答案:

答案 0 :(得分:8)

如果您使用android studio并收到此错误,则我解决了该问题,将项目的Gradle版本更改为项目结构选项上的最新版本6.2.1。

Image Android Studio

答案 1 :(得分:3)

可能的原因之一是jdk版本太。例如,使用jdk 16 构建Apache Kafka 的源代码会抛出此错误。使用 jdk 11 没问题。

答案 2 :(得分:2)

你是否安装了grail和groovy插件?如果是这样,请尝试卸载此插件。我有相同的错误消息并卸载插件,重启IDE为我工作。

答案 3 :(得分:1)

使用Eclipse Juno(Kepler Release)Build id:20121114-2344,我发现了类似的问题:

org.codehaus.groovy.control.multiplecompilationerrorsexception startup failed unable to resolve class Chart

类图表是我用于图表的一些实用程序的容器类。

我在Eclipse之外尝试过,使用Groovy 2.0控制台,相同的代码段工作正常。在抓了我大约3个小时之后,我通过添加以下

解决了这个问题
import excel.Chart

在调用类中,main()具有“new Chart()”因此获得投诉,一旦添加,错误就消失了。更奇怪的是,在传递错误之后,我删除了那个导入,仍然没有更多的投诉! (我的所有脚本/类都在同一个包excel下,我想不需要这样的import语句。)

投诉的一个症状是输出bin文件夹中没有生成Chart.class。一旦投诉消失,Chart.class就会出现在那里。

我想这可能是Eclipse / Groovy插件的错误(我使用Juno的Groovy插件)。

希望我的理解是正确的,并且有所帮助。

答案 4 :(得分:1)

如果您想在首次安装后在Android Studio上创建一个新项目,可能您将应用程序名称(包括(')符号)写为撇号。

例如,我尝试将名称设置为:“ Henry's Game”,但是撇号导致Android Studio由于此错误而无法加载:

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

因此,只需更改应用程序的名称,并仅使用拉丁字母语言(例如英语)即可。

要修复:转到您的Android项目树并找到Gradle脚本> settings.gradle>更改名称:

rootProject.name='Henry Game'
include ':app'

答案 5 :(得分:0)

转到“文件”,然后单击“使缓存无效/重新启动”。 Android studio将清除缓存,然后将其重新启动而不会出现任何错误。

希望这个答案对您有帮助:)

答案 6 :(得分:0)

为我工作:
按Ctr + Alt + Shift + s
或:
从文件菜单->项目结构-> SDK位置-> JDK位置下拉菜单中选择:
嵌入JDK c:.... \ jre
那好吧。

enter image description here

答案 7 :(得分:0)

对于这个问题,您可能还会遇到package 命名from gsp,就像我一样。在 build/gsptmp 文件夹中,Grails 4.x.x 创建临时 gsp 文件以链接它们引用的类。由于包名称的更改,在我的情况下它没有这样做。在战争构建期间尝试使用命令 grails war --stacktrace

以前是<%@ page import="bv.BankReconciliationController" %> 但文件夹 bv 已重命名为 factoring。 所以,解决的办法是将导入更改为 <%@ page import="factoring.BankReconciliationController" %> 并且成功了 :)

答案 8 :(得分:0)

我也遇到了同样的情况并尝试了这里和其他地方的所有解决方案,最后我删除了我的 .gradle 和 gradle 两个文件夹和 android studio 缓存,然后再次打开工作室并重建项目,它的工作原理在那之后很好并使用了最新的 gradle 版本,之前它正在选择旧版本并导致问题。