2011-11-30 29 views
0

我正在使用Mac OS X(10.6.8),並且有一個非常新的Java更新爲1.6.0_29。現在我的一個應用程序經常停止工作(永不結束轉輪)。開發這個軟件的人告訴我他們不能解決這個問題(似乎更多的是在Java方面,似乎很難再現),並提供了一種解決方法。我把舊的JDK(備份)複製到應用程序文件夾,然後我必須用shell腳本啓動應用程序。 但現在我得到這個錯誤:java更新崩潰的應用程序,解決方法拋出錯誤

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 

任何想法?

+0

聽起來像一箇舊的'JavaApplicationStub'和/或不兼容的JNI庫的SWT應用程序。 – trashgod

+0

有什麼我可以做到讓它運行? (我不是開發人員,所以我不能在應用程序本身做任何改變......) – July

+0

我想要開發人員,但更新存根或[庫](http://www.eclipse.org/ swt /)可能會有所幫助。 – trashgod

回答

0

我最近在我的桌面上從山獅失敗的Java更新中得到了同樣的消息。解決方案是從我的筆記本電腦複製Java運行時jdk實現。但是,我第一次弄錯了,並且刪除了所有文件的符號鏈接和權限。

libjli.jnilib文件(在我的情況下是Libraries/)應該包含可執行文件。

檢查您是否正確複製了舊JDK中的文件並保留了所有系統/用戶權限。

我的解決方案是將筆記本電腦上的文件進行tar處理,然後將其解壓到桌面上,保留鏈接和權限。我在sudo下執行此操作,以保留root:wheel所有權。

祝你好運。