运行jmagick应用程序时遇到错误(在本例中是对ubuntu的测试)。我安装了以下内容,但在运行测试时仍然出现以下错误
sudo apt-get install imagemagick libmagickcore-dev
sudo apt-get install ghostscript
sudo apt-get install jmagick
当我进行测试时,我得到了:
Running com.myapp.pdfservice.PdfServiceTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.892 sec <<< FAILURE!
convertPdf(com.myapp.pdfservice.PdfServiceTest) Time elapsed: 1.701 sec <<< ERROR!
java.lang.UnsatisfiedLinkError: magick.Magick.init()V
at magick.Magick.init(Native Method)
at magick.Magick.<clinit>(Magick.java:40)
正如我在主题中所提到的,这在OSX上运行良好,但我不确定我需要在Ubuntu上做些什么才能使其工作。
有什么想法吗?
这里是固定:
原来,jmagick的apt-get安装没有将正确的库安装到/ usr / lib&amp; / usr / lib中/ JNI。
诀窍是下载源代码,构建和覆盖由apt-get安装的那些:
svn checkout svn://svn.code.sf.net/p/jmagick/code/trunk jmagick-code
./configure --with-java-home=/usr/lib/jvm/java-7-openjdk-amd64 --with-magick-home=/usr/local/jmagick
make all & make install
sudo cp /usr/local/lib/libJMagick-6.6.9.so /usr/lib/libJMagick.so
sudo cp /usr/local/lib/libJMagick-6.6.9.so /usr/lib/jni/libJMagick.so
答案 0 :(得分:0)
通常,UnsatistfiedLinkError意味着您需要将jvm指向本机所在的位置。使用-Djava.library.path =“your / path / to / library / natives”来设置它们的路径。