首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >library.path中没有jansi

library.path中没有jansi
EN

Stack Overflow用户
提问于 2016-02-16 15:23:02
回答 2查看 3.4K关注 0票数 1

根据Scala.js的说法,我有一个这个例子 web应用程序,我正在尝试调用第三方Java库。

我收到一个奇怪的错误,指示缺少一个jansi库,但是我将jansi-1.11.jar添加到我的路径中。

代码语言:javascript
复制
    exampleJVM [INFO] [02/16/2016 16:14:56.331] [default-akka.actor.default-dispatcher-2] [akka://default/user/IO-HTTP/listener-0] Bound to /0.0.0.0:8080
    exampleJVM[ERROR] Uncaught error from thread [default-akka.actor.default-dispatcher-3] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[default]
    exampleJVM [ERROR] [02/16/2016 16:14:58.694] [default-akka.actor.default-dispatcher-3] [ActorSystem(default)] Uncaught error from thread [default-akka.actor.default-dispatcher-3] shutting
     down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
    exampleJVM[ERROR] java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path]
    exampleJVM[ERROR]       at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
    exampleJVM java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path]
    exampleJVM[ERROR]       at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
    exampleJVM[ERROR]       at org.fusesource.jansi.internal.Kernel32.<clinit>(Kernel32.java:37)
    exampleJVM      at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
    exampleJVM[ERROR]       at org.fusesource.jansi.WindowsAnsiOutputStream.<clinit>(WindowsAnsiOutputStream.java:52)
    exampleJVM[ERROR]       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    exampleJVM      at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
    exampleJVM[ERROR]       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    exampleJVM      at org.fusesource.jansi.internal.Kernel32.<clinit>(Kernel32.java:37)
    exampleJVM[ERROR]       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    exampleJVM      at org.fusesource.jansi.WindowsAnsiOutputStream.<clinit>(WindowsAnsiOutputStream.java:52)
    exampleJVM[ERROR]       at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    exampleJVM      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    exampleJVM[ERROR]       at org.apache.logging.log4j.core.appender.ConsoleAppender.getOutputStream(ConsoleAppender.java:198)
    exampleJVM      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

我在某个地方尝试过几件事.我安装了Visual C++可再发行版或将fork in run := true添加到我的build.sbt中--但没有成功.

EN

回答 2

Stack Overflow用户

发布于 2016-02-22 21:03:59

试着添加

代码语言:javascript
复制
"org.fusesource.jansi" % "jansi" % "1.11",

build.sbt的第29行

https://github.com/lihaoyi/workbench-example-app/blob/autowire/build.sbt#L29

UPDATE:我下载了您的项目(分支autowire),向build.sbt添加了依赖项,并向example.Server.main添加了以下行

代码语言:javascript
复制
import org.fusesource.jansi.AnsiConsole
import org.fusesource.jansi.Ansi._
import org.fusesource.jansi.Ansi.Color._

AnsiConsole.systemInstall()
println( ansi().eraseScreen().fg(RED).a("Hello").fg(GREEN).a(" World").reset() )

对我来说很管用。你能把你的版本的代码上传到github吗?

票数 0
EN

Stack Overflow用户

发布于 2016-11-01 12:30:28

您所得到的错误是运行时错误。所以,我认为你和构建路径无关。如果您在Windows中工作,请尝试将jansi.dll安装到任何java.library.path目录中;例如c:/windows/system32 32。我认为这不是最好的解决方法,但在处理了3个小时后,它对我来说很好,可以找到一种方法来修改运行时路径以包含jansi.jar文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35436362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档