UnsatisfiedLinkError с оптимизатором Gurobi в Java

Я пытаюсь использовать Gurobi 8.1 в проекте Java. Я установил следующие переменные окружения в моем .zshrc :

export GUROBI_HOME="/home/user/tool/gurobi811/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
export GRB_LICENSE_FILE="/home/user/tool/gurobi811/gurobi.lic"

Это было сделано по следующим ссылкам: Руководство по установке программного обеспечения и Настройка переменных среды . Это позволяет мне успешно запустить интерактивную оболочку оптимизатора.

Тем не менее, я получаю следующую ошибку при попытке использовать оптимизатор в проекте Netbeans:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no GurobiJni81 in java.library.path: [/usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
    at java.base/java.lang.System.loadLibrary(System.java:1867)
    at gurobi.GurobiJni.<clinit>(GurobiJni.java:261)
    at gurobi.GRBEnv.<init>(GRBEnv.java:56)
    at br.gurobi.test.main.Main.main(Main.java:31)
/home/user/project/nbproject/build-impl.xml:1328: The following error occurred while executing this line:
/home/user/project/nbproject/build-impl.xml:948: Java returned: 1
BUILD FAILED (total time: 0 seconds)

Если я использую -Djava.library.path=/path/to/lib ( ), я получаю еще одну ошибку:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/user/tool/gurobi811/linux64/lib/libGurobiJni81.so: libgurobi81.so: cannot open shared object file: No such file or directory
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2649)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
    at java.base/java.lang.System.loadLibrary(System.java:1867)
    at gurobi.GurobiJni.<clinit>(GurobiJni.java:261)
    at gurobi.GRBEnv.<init>(GRBEnv.java:56)
    at br.gurobi.test.main.Main.main(Main.java:31)
/home/user/project/nbproject/build-impl.xml:1328: The following error occurred while executing this line:
/home/user/project/nbproject/build-impl.xml:948: Java returned: 1
BUILD FAILED (total time: 0 seconds)

Я добавил как gurobi.jar и gurobi-javadoc.jar в мои библиотеки времени компиляции проекта. Я не нашел места в Apache Netbeans 11 для определения переменных среды.

Всего 1 ответ


Мне удалось запустить оптимизатор, запустив Netbeans из терминала (где все мои пользовательские переменные уже были установлены).

Тем не менее, я буду ждать ответа, который покажет, как устанавливать переменные среды непосредственно в Netbeans.


Есть идеи?

10000