problem z bibliotekami natywnymi

0

Witam.
Obecnie tworzę sobie prosty applet który zawiera kilka paneli w których w jednym z nich jest wyświetlana grafika z silnika "jmonkey engine" . Wszystko ładnie działa podczas programowania (w ecilpse) ładnie się odpala jako applet i jest ok. Sprawa komplikuje się gdy odpalam aplikacje w przegladarce - gdzie konsola wyrzuca mi błąd podany na końcu posta. Wygląda na to że biblioteki natywne są rozpakowywane ale w rzeczywistości nie ma ich w tym katalogu. Jeśli ręcznie kupiuję to katalogu C:\Users\kakuna\AppData\Local\Google\Chrome\Application\22.0.1229.94\lwjgl.dll to wszystko działa pięknie. Dlaczego automatycznie nie są rozpakowywane pliki bibioteki natywnej? Czy ma ktoś pomysł na rozwikłanie tego problemu? Nie wiem czy jest to stosowne aby tu pisać ale mogę zaoferować pieniądze za pomoc w rozwiązaniu tego problemu z którym borykam się już długi czas. Zaznaczę że zwiedziłem już dziesiątki forów i nie znalazłem jednoznacznej odpowiedzi. Być może jest ot jakiś mało istotny problem ale jako że uczę się javy sam to nie jestem w stanie wszystkich rzeczy zauważyć
Bardzo będę wdzięczy za pomoc.

paź 22, 2012 3:29:53 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.0.0 RC2
paź 22, 2012 3:29:54 PM com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory: C:\Users\kakuna\AppData\Local\Google\Chrome\Application\22.0.1229.94
paź 22, 2012 3:29:54 PM com.jme3.system.lwjgl.LwjglCanvas$GLCanvas addNotify
INFO: EDT: Creating OGL thread.
paź 22, 2012 3:29:54 PM com.jme3.system.lwjgl.LwjglCanvas$GLCanvas addNotify
INFO: EDT: Telling OGL to create display ..
Exception in thread "LWJGL Renderer Thread" java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\kakuna\AppData\Local\Google\Chrome\Application\22.0.1229.94\lwjgl.dll
	at java.lang.ClassLoader.loadLibrary(Unknown Source)
	at java.lang.Runtime.load0(Unknown Source)
	at java.lang.System.load(Unknown Source)
	at org.lwjgl.Sys$1.run(Sys.java:70)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:95)
	at org.lwjgl.Sys.<clinit>(Sys.java:112)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:206)
	at java.lang.Thread.run(Unknown Source)
 
0

Aplet jest podpisany? Niepodpisany aplet nie może pisać po dysku lokalnym. Nie może też odczytać zmiennych środowiskowych, więc nie wie jaki jest katalog domowy użytkownika. Jeśli chcesz sprawdzić czy problem wynika z niepodpisania apletu, to uruchom go tak:

appletviewer -J"-Djava.security.policy=all.policy" nazwa_pliku_z_apletem

i umieść w katalogu z apletem plik all.policy z poniższą zawartością:

grant {
    permission java.security.AllPermission;
};
0

Oczywiście applet jest podpisany. Umieszczam plik all.policy w folderze z podpisanym appletem (applet w archiwum .jar) ale niestety nie pomaga. Zaznaczę, że całość jest jako Dynamic Web Project

1 użytkowników online, w tym zalogowanych: 0, gości: 1