java update崩溃的应用程序,解决方法抛出错误

时间:2011-11-30 07:07:21

标签: java osx-snow-leopard

我正在开发Mac OS X(10.6.8),并且有一个非常新的Java更新到1.6.0_29。现在,我的一个应用程序经常停止工作(永远不会结束纺车)。开发这个软件的人告诉我他们无法解决这个问题(似乎更多的是在Java方面并且似乎难以重现)并提供了一种解决方法。我拿了旧的JDK(备份)并将其复制到应用程序文件夹,然后我不得不用shell脚本启动应用程序。 但现在我收到了这个错误:

dyld: Library not loaded: @rpath/libjli.jnilib
  Referenced from: /Applications/app_xyz/jre/bin/java
  Reason: image not found
./start_app_xyz.sh: line 43:  1870 Trace/BPT trap          "$JAVA" $VMARGS -classpath $CLASSPATH org.eclipse.equinox.launcher.Main $APPARGS
/Applications/app_xyz

我不知道这个问题能否以某种方式解决。如果有人知道解决方案,请告诉我!

更新我的问题:

现在,我已将旧JDK替换为另一台机器中的一个,我收到一条新的错误消息:

Exception in thread "Thread-1" java.lang.NoClassDefFoundError: for
Caused by: java.lang.ClassNotFoundException: for
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
/Applications/app_xyz

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我最近在桌面上的Mountain Lion中失败的Java更新中收到了同样的消息。解决方案是从我的笔记本电脑复制Java运行时jdk实现。但是,我第一次弄错了,弄乱了所有文件的符号链接和权限。

libjli.jnilib文件(在我的案例中为Libraries/)应该包含可执行文件。

检查您是否正确复制了旧JDK中的文件并保留了所有系统/用户权限。

我的解决方案是对我的笔记本电脑上的文件进行tar操作,并在桌面上原位解压缩,保留链接和权限。我在sudo下执行此操作以保留root:wheel所有权。

祝你好运。