一些背景知识:
在使用Macports的Mac OS X 10.6上,我在.bash_profile中设置了DYLD_LIBRARY_PATH
。
问题:
当我运行java -version
时,我收到此错误:
VM初始化期间发生错误 无法加载本机库:libjava.jnilib
通过一个有用的forum thread,我发现问题是我的'/ opt / local / lib'目录中的某些文件因我设置的DYLD_LIBRARY_PATH
而导致问题。
当我从'/ opt / local / lib'中删除以libgif,libjpeg,libpng和libtiff开头的文件时,问题就消失了,`java -version'可以工作,但依赖这些文件的端口会中断。 / p>
任何人都知道我可以保留文件的方式并且仍能让java正常工作吗?可能设置java路径,我不太确定该怎么做,我的所有尝试都失败了。
感谢。
答案 0 :(得分:11)
不要设置DYLD_LIBRARY_PATH
。由于这个env var,动态链接器dyld正在寻找/opt/local/lib/libjpeg.dylib
等,而不是它需要的不同/System/Library/Frameworks//ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Resources/libJPEG.dylib
。
答案 1 :(得分:10)
这似乎适用于OS X Lion:
取消设置DYLD_LIBRARY_PATH
答案 2 :(得分:0)
这似乎是导致文件保护问题的一个可能原因?请参阅此other thread中的帖子。