Zrobiłem aplet, korzysta on z plików .jpg. Chciałbym teraz spakować to do .jar. I mam problem z tym. Nie wiem czy coś źle robię czy co, ale jak chcę spakować to w Eclipse do jar to pakowane są tylko skompilowane klasy, a obrazki .jpg nie. Jak to poprawnie spakować?
No dobra znalazłem na 4programmers jak spakować pliki z pod konsoli. Spakowałem według tego jak tu pisze. I do pliku html wstawiłem kod taki jak podają na 4programmers i nie działa.
pakowałem takim poleceniem:
jar cf moj_jar.jar *.class *.png
w htmlu mam taki kod:
<APPLET code="MyApplet.class" archives="moj_jar.jar" width=350 height=200></APPLET>
i takie błędy otrzymuję:
load: class MyApplet not found.
java.lang.ClassNotFoundException: MyApplet
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\Documents and Settings\xxx\Pulpit\MyApplet.class (Nie można odnaleźć określonego pliku)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Exception: java.lang.ClassNotFoundException: MyApplet
O co w tym chodzi? Co robię nie tak?
Zamiast MyApplet.class podaj nazwę pliku .class głównej klasy twojego apletu.
Napisz tak:
<APPLET code="MyApplet.class" archive="moj_jar.jar" width=350 height=200></APPLET>
Fanael napisał(a)
Zamiast MyApplet.class podaj nazwę pliku .class głównej klasy twojego apletu.
MyApplet.class to właśnie mój główny plik klasy z metodą init().
Widzisz różnicę między sowim tekstem
<APPLET code="MyApplet.class" archives="moj_jar.jar" width=350 height=200></APPLET>
a moją propzycją
<APPLET code="MyApplet.class" archive="moj_jar.jar" width=350 height=200></APPLET>
bogdans_niezalogowany napisał(a)
Napisz tak:
<APPLET code="MyApplet.class" archive="moj_jar.jar" width=350 height=200></APPLET>
No działa, dzięki.
bogdans_niezalogowany napisał(a)
Widzisz różnicę między sowim tekstem
<APPLET code="MyApplet.class" archives="moj_jar.jar" width=350 height=200></APPLET>
a moją propzycją<APPLET code="MyApplet.class" archive="moj_jar.jar" width=350 height=200></APPLET>
No właśnie jaka jest różnica między archives a archive???
Taka, że archives nie jest atrybutem znacznika applet. Dla przeglądarki
archives="pewien.jar" oraz imie_mojej_dziewczyny="Basia" mają takie samo znaczenie.
bogdans_niezalogowany napisał(a)
Taka, że archives nie jest atrybutem znacznika applet. Dla przeglądarki
archives="pewien.jar" oraz imie_mojej_dziewczyny="Basia" mają takie samo znaczenie.
Czyli w tym przykładzie na 4programmers był błąd?
Tak.