无法在Intellij中运行依赖:UnsatisfiedLinkError

时间:2015-11-24 22:09:09

标签: intellij-idea playframework jvm gurobi

我在Intellij中有一个Play框架应用程序我试图添加Gurobi(一个ILP优化器)并且遇到了一些问题。我已经按照他们网站上的所有安装Gurobi的说明进行操作。

在Intellij中,我已将Gurobi添加到项目中的/ lib文件夹中,它解析了代码中的所有符号,代码编译,我可以运行应用程序。我将Gurobi添加到java库路径中,方法是将其添加到运行配置的JVM参数中:

-Djava.library.path = /选择/ gurobi605 / LINUX64 / lib中

我还在运行配置中添加了4个环境变量:

GUROBI_HOME="/opt/gurobi605/linux64"
PATH="${PATH}:${GUROBI_HOME}/bin"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
GUROBI_LICENCE="/home/mcmellawat/gurobi.lic"

我还根据Gurobi说明将这些环境变量添加到.bashrc文件中,但我不确定它是否重要。

尽管如此,我在尝试在我的代码中实例化第一个Gurobi对象(GRBEnv是特定的)时遇到以下错误:

java.lang.UnsatisfiedLinkError:/opt/gurobi605/linux64/lib/libGurobiJni60.so:libgurobi60.so:无法打开共享对象文件:没有这样的文件或目录

我已经验证了这个文件确实存在于/ opt / gurobi605 / linux64 / lib中(它实际上是指向另一个文件的链接)。什么可能导致它无法找到?

1 个答案:

答案 0 :(得分:0)

Gurobi FAQ(41)包含如何从开发环境(例如Eclipse)使用Java接口的说明: http://www.gurobi.com/support/faqs

1)您需要在项目中包含gurobi.jar(例如在您的构建路径中)

2)确保环境变量PATH(Windows)或LD_LIBRARY_PATH(Linux)包含正确的库文件夹。

  • 在Windows上,默认情况下,这是Gurobi安装的bin文件夹(例如gurobi60.dll和gurobi65.dll)
  • 在Linux上,默认情况下,这是Gurobi安装的lib文件夹(例如libgurobi60.so和libGurobiJni60.so)