が、私はちょうど上のMatlabのランタイムをインストールしました:java.library.pathに、クラスパスNetBeansは8.0.2
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
がインストールR2015b(9.0)*(MATLABランタイムで私の場合、MATLABランタイムhereを見つけることができます9.0、R2015bの場合は、R2015bのMATLAB 8.6で動作するようになっています)。/usr/local/MATLAB
私は、NetBeans 8.0.2に
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
次のように私のプログラムがあり、私が降りるエラーを使用しています:
Matlabのライブラリ
はにインストールされますException in thread "main" java.lang.UnsatisfiedLinkError: Failed to find the required library libmwmclmcrrt.so.9.0 on java.library.path.
This library is typically installed along with MATLAB or the MCR. Its absence may indicate an issue with that installation or the current path configuration.
The MCR version that this component is trying to use is: 9.0.
Matlabのインストールでは、
On the target computer, append the following to your LD_LIBRARY_PATH environment variable: /usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64:
私は> [プロパティ]> [VMオプションをプロジェクトにこの行を追加しました:
-Djava.library.path="/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64:"
を私は使用してプロジェクト]> [プロパティ]> [ライブラリに同じフォルダを追加しました:JAR /フォルダボタンを追加しますが。
私は自分のプログラムに次のコード行を入れている:
System.out.println(System.getProperty("java.library.path"));
は、私はとして正しく出力を取得するには:
/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64:
しかし、それは同じエラーで実行に失敗し続け。
私はIntelliJ IDEA Community Editionをインストールしましたが、改造は一切なく、コードは問題なく動作します。私は本当にNetbeansを守りたいと思っており、この問題を理解したいと思っています。何か案は?
IntelliJのは、以下のロードされたがあります
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java
-Didea.launcher.port=7532
-Didea.launcher.bin.path=/home/code/idea-IC-143.1821.5/bin
-Dfile.encoding=UTF-8
-classpath /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/cldrdata.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/dnsns.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/icedtea-sound.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/localedata.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/nashorn.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunec.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunjce_provider.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunpkcs11.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/zipfs.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jce.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jsse.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/management-agent.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/resources.jar
:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar
:/home/code/NetBeansProjects/CO2model/out/production/TestModelABC
:/home/code/NetBeansProjects/CO2model/TestModelABC/dist/lib/co2model.jar
:/home/code/NetBeansProjects/CO2model/TestModelABC/dist/lib/javabuilder.jar
:/home/code/NetBeansProjects/CO2model/for_redistribution_files_only/co2model.jar
:/home/code/idea-IC-143.1821.5/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain test.Startup
.
:
:/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64
:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64
:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64
:
:/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni
:/lib/x86_64-linux-gnu
:/usr/lib/x86_64-linux-gnu
:/usr/lib/jni
:/lib
:/usr/lib
おそらくあなたのNetbeansには、 'LD_LIBRARY_PATH' env変数がありませんか? netbeansを閉じて、export LD_LIBRARY_PATH =/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/ usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/ usr/local/MATLAB/MATLAB_Runtime/v90を実行してください。/sys/os/glnxa64:; netbeans& 'それを再起動します。 – heenenee
'java.library.path'を設定するだけでは不十分です。ネイティブライブラリを直接ロードするときには動作しますが、それらのライブラリが他のネイティブライブラリを参照しているときには失敗します。また、共有ライブラリを見つけるためのOS固有の変数(Windowsでは 'PATH'、Linuxでは' LD_LIBRARY_PATH'、Macでは 'DYLD_LIBRARY_PATH')を設定する必要があります。 – Amro
さらに注意すべき点は、MATLABが使用しているのと同じJavaバージョン(1.8ではなく1.7)を実行時とJDKの両方で使用することです。 MATLABの中で 'version -java'コマンドを実行することで確認できます。 – Amro