相关疑难解决方法(0)

转换期间的常规错误:没有找到适合抓取的ClassLoader

我试过下面的代码......

@Grapes([
    @Grab('org.hsqldb:hsqldb:2.0.0'),
    @GrabConfig(systemClassLoader=true, initContextClassLoader=true)
])
import groovy.sql.Sql
println Class.forName('org.hsqldb.jdbc.JDBCDriver').newInstance()
Run Code Online (Sandbox Code Playgroud)

它适用于groovyConsole,但无法使用Web Start运行.以下是错误消息.

startup failed:
General error during conversion: No suitable ClassLoader found for grab

java.lang.RuntimeException: No suitable ClassLoader found for grab
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
    at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:173)
    at groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:239)
    at groovy.grape.Grape.grab(Grape.java:141)
    at groovy.grape.GrabAnnotationTransformation.visit(GrabAnnotationTransformation.java:282)
    at org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:302)
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:520)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
    at …
Run Code Online (Sandbox Code Playgroud)

groovy java-web-start

6
推荐指数
1
解决办法
5482
查看次数

IntelliJ IDEA - 错误:java:包foo不存在

我在IntelliJ IDEA中有一个由Java和Groovy类组成的项目.这些类包含在我标记为源文件夹的文件夹"groovy"和"java"中.我有很多Java类从"groovy"源文件夹导入类,但是当我尝试运行它们时,我一直得到错误"java:package foo不存在".包"foo"直接存在于"groovy"文件夹下,因此应该可以正常工作.我在下面加了一个视觉.(我试图避免任何具体的细节.我可能会或可能不会在一个绝密的51区项目上工作.)

结构视觉:

project-folder
|
-src
 |
 -main
  |
  -groovy (marked as source)
  ||
  |-foo
  | |
  | -bar.groovy
  -java (marked as source)
   |
   - java class that imports "foo.bar"
Run Code Online (Sandbox Code Playgroud)

错误:java:包foo不存在

不起作用的事情:

  • 将所有内容置于"框架"下并将它们直接放在"groovy"文件夹下.结果"无法解析符号栏"

  • 取消项目和重建

java groovy intellij-idea importerror

4
推荐指数
1
解决办法
1万
查看次数