当前位置: 首页 > 知识库问答 >
问题:

Groovysh正在给java.lang.reflect.InvocationTargetException

祁绪
2023-03-14

Groovy版本:Groovy版本:3.0.0-rc-3 JVM:1.8。0_221供应商:Oracle Corporation OS:Linux

运行命令时:groovysh错误输出:

    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:106)
        at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:124)
Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, /tmp/libjansi-64-3695606470401720252.so: /tmp/libjansi-64-3695606470401720252.so: failed to map segment from shared object: Operation not permitted]
        at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
        at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
        at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:42)
        at org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
        at org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.lambda$createCallStaticSite$2(CallSiteArray.java:65)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:63)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:156)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119)
        at org.apache.groovy.groovysh.Main.installAnsi(Main.groovy:249)
        at org.apache.groovy.groovysh.Main.setTerminalType(Main.groovy:235)
        at org.apache.groovy.groovysh.Main.main(Main.groovy:120)
        ... 6 more

共有1个答案

申光临
2023-03-14

据我所知,这种问题不是来自Groovy本身,而是来自您的用户没有写入权限 /tmp.例如,如果您的tmp是只读挂载的。

背景:Jansi需要本机库,它们是jar的一部分。Java不能从jar中加载它们,需要将它们放在“某处”,通常是/tmp。由于您的tmp似乎无法写入,因此您将得到“不允许操作”。

 类似资料:
  • 我最近安装了时髦。 现在,当我运行groovysh命令时,我得到了错误: 此外,当groovyConsole以奇怪的方式运行时:- 我认为非法反射访问警告可能是由于与jdk 11的兼容性问题。这是否意味着我将无法使用jdk 11进行groovy?有没有人遇到过类似的问题?我该如何解决这个问题? 编辑:我刚刚安装了java 9。我在groovysh和groovyConsole命令上得到了完全相同的错

  • 我正在编写一个用于测试opencv函数的小gui,以便轻松更改参数值(用于阈值、blob检测等)。我开始使用tkinter编写gui,并用图像获得wierd结果。fromarray函数-我的图像带有蓝色色调;当我用cv2显示时。我显示没有这种颜色,所以它一定是fromarry的人工制品。我按预期检查了模式及其RGB。图像对在斑点检测之前和之后(绘制小圆圈)。左边的一对是opencv,右边的一对在我

  • 在Jenkins中,如果作业B正在运行,我们可以使用Build blocker插件阻止作业a。 类似地或以某种方式,我希望一个作业,例如:another_dumb_job不运行/(等待并让它在队列中),如果有任何正在进行的作业在任何用户选择的从属上运行,直到这些从属再次空闲。 对于EX:我不想运行一个作业(这将删除一堆从机,无论是脱机还是联机--使用下游作业或通过调用一些Groovy/Script

  • 我有一个折线图,其中数据根据X轴(时间轴)标签显示为点元素。 问题是当它显示工具提示时,例如,六月,它把它作为索引3,所以标题工具提示(xlabel)显示为“四月”。 如何在工具提示上获得正确的标签,而不依赖于索引?

  • 问题内容: 我正在尝试学习go,并且一开始我想尝试组装一个超级简单的Web服务器来控制iTunes。过去,我已经多次达到这个目的,并认为我可以在这里简单地取消对osascript的调用。 注释掉的“ say 5”命令 确实 起作用。 我收到的回应如下: 我不确定从这里要去哪里,任何方向都将不胜感激。 问题答案: 我明白了 我认为exec.Command(…)如果参数中有空格,则在参数中添加双引号,

  • 我使用以下代码警报视图,它在iPhone中工作。但是当我在iPad中运行它时,它会出现以下错误: 由于未捕获的异常“NSGenericeException”而终止应用程序,原因:“您的应用程序已呈现UIAlertControllerStyleActionSheet样式的UIAlertController()。具有此样式的UIAlertController的modalPresentationStyl