- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在类(class)开始时有这个:
@Grab(group = 'org.ccil.cowan.tagsoup', module = 'tagsoup', version = '1.2')
class MyClass{...
Caused by: 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:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198)
at groovy.grape.GrapeIvy.chooseClassLoader(GrapeIvy.groovy:163)
at groovy.grape.GrapeIvy$chooseClassLoader.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:227)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
at groovy.grape.GrapeIvy.grab(GrapeIvy.groovy:216)
at groovy.grape.Grape.grab(Grape.java:131)
at groovy.grape.Grape$grab.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:165)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:173)
at ammoscanner.AmmoScanner.<clinit>(AmmoScanner.groovy)
... 30 more
最佳答案
对我有用的解决方案(在 IntelliJ 和通过 Maven 中使用 @Grab
运行脚本测试):
@Grab
引用使用的依赖项在你的 Maven pom.xml
文件(无论如何这对于更好的编码体验很有用):@Grab
在我的 Groovy 脚本中:
@Grab(group='info.picocli', module='picocli', version='4.6.1')
所以我添加了以下 Maven 依赖项:
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.6.1</version>
</dependency>
ivy
的可选依赖项在你的 Maven pom.xml
文件(需要在您的 IDE 中正确处理 @Grab
): <dependency>
<groupId>org.apache.ivy</groupId>
<artifactId>ivy</artifactId>
<version>${ivy.version}</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
groovy.grape.enable
系统属性到 false
. 这是解决方案的主要和关键部分 - 它禁用 @Grab
脚本的注释处理,但请记住,我们已经在 Maven pom.xml
中引用了那些依赖项文件: static {
System.setProperty("groovy.grape.enable", "false")
}
@Test
void test() {
MainScript.call()
}
该解决方案的缺点是您必须在
@Grab
中复制依赖项。和 Maven
pom.xml
文件,但同样,如果您开发 Groovy 脚本,您通常已经这样做以改善您的编码体验(获得更好的代码亮点等)。
关于groovy - 找不到合适的类加载器可供抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611230/
Windows Phone 8 上的开发人员可以使用两个命名空间 - Microsoft.Devices.Sensors 和 Windows.Devices.Sensors。它们几乎完全相同。有人能解
如何使 NameValueCollection 可供 LINQ 查询运算符(例如 where、join、groupby)访问? 我尝试了以下方法: private NameValueCollectio
我希望能够测试哪些文本转语音可供我的 iOS 应用程序与 AVSpeechSynthesis 一起使用。生成已安装声音的列表很容易,但 Apple 将其中一些声音禁止应用程序使用,我想知道哪些声音。
我让 postgres.app 在我的 Mac 上本地运行,并希望我的本地 docker 容器能够连接到它。我该如何最好地做到这一点? 我发现这篇文章建议使用 --add-host 标志(Host p
我有一个包含多个 HTML 文件的文件夹。每个 HTML 文件都使用 AngularJS 并包含相同的声明,如下所示;
与仍然生活在 ant 构建环境世界(在 Windows 机器上)的客户合作。想要在 Java 程序中使用 google-cloud-translate 库,但如果我包含 google-cloud-tr
我是一名优秀的程序员,十分优秀!