Problem z apletami Java

0

Od niedawna zajmuję się pisaniem apletów na stronę internetową. Uczyłem się z poniższej strony:
http://webhosting.pl/Kurs.Javy..Praktyczne.programowanie.czesc.II?page=6
Skompilowałem i wrzuciłem na stronę i wszystko działało. Wprowadzałem zmiany i sprawdzałem wyniki.
Aż pewnego razu aplet przestał działać. Wrzuciłem aplet który na pewno działał, ten na początku skompilowany i dalej nic. Sprawdzałem na 2 przeglądarkach. A co najlepsze na innym komputerze działa.

java.lang.NoClassDefFoundError: PuzzleAplet (wrong name: Applet)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(Unknown Source)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.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)
Exception: java.lang.NoClassDefFoundError: PuzzleAplet (wrong name: Applet)

Oprogramowanie:

  • NetBeans 6.9
  • jdk-6u21-windows-i586

W czym problem?

0

Witam

Na mój gust masz problem z dostępem do javac.exe. Musiałeś w pewnej chwili instalować nowsza wersję nie wyrzucajac starszej albo bawiłeś się ścieżkami systemowymi. Teraz masz konflikt wersji-nie ważne czy ten aplet czy jakikolwiek inny....

Jak Ci się chce dłubać to wejdz do ustawień ścieżek i znajdz to co dodałeś i wywal....pierwszym katalogiem, w którym następuje przeszukiwanie jest windows/system32 i system tam szuka pierw dostępu do javac.exe i jak znajdzie to olewa Twój wpis nowszy.

Aby sprawdzić czy moja myśl jest poprawna spróbuj skompilowac aplet z linii poleceń-wtedy będzie szykać javy z ostatniego wpisu i jak się nie mylę skompiluje się i uruchomi bez problemu.

Pozdrawiam

0

No ale inne aplety mi działają np:
http://gielda.onet.pl/indeksy-gpw,18932,102,0,notowania-dynamiczne
Nawet ten sam aplet na innym serwerze działa poprawnie.

Myślałem że to wina przeglądarki no ale sprawdzałem na IE (normalnie pracuje na Firefox-ie).</url>

0

@lipkerson, co ma wspólnego działanie apletów z dostępem do javac.exe? Ilu użytkowników apletów ma zainstalowany kompilator javy?
@dalles, umieść niedziałający aplet na jakiejś ogólnie dostepnej stronie.

0

@dalles

Działają Ci bo odwołują się do java.exe. Używasz jakiegoś środowiska IDE? Skoro napisałeś aplet to go jeszcze raz w nim skompiluj i uruchom i napisz co wyskoczyło...a w ogóle spróbowałes go skompilować z linii poleceń jak pisałem?

A co do umieszczania na stronce to nie ma sensu-co my tam zobaczymy wiecej niż on na swoim kompie? Pisze że działa gdzie indziej to działa czy to tylko na twoim kompie jest problem.

Pozdrawiam

0

@lipkerson, dla Ciebie nie ma sensu, dla mnie ma. Twoje rozważania dotyczące kompilacji są lekko bezsensowne, skoro aplet działa gdzie indziej to chyba jest skompilowany.

0

teraz posprawdzałem trochę i za uwarzyłem że wystarczy że zmienię nazwę folderu w którym umieszczony jest aplet z "classes" na "classes2" i wszystko działa bez problemu. Tak jak by java zapisała coś w pamięci odnośnie tej ścieżki.
Czyli kompilowanie nie ma sensu. jdk-6u21-windows-i586 musi mieć jakieś błędy.

0

Odpowiedz mi na proste pytanie: zmieniałeś JDK? Bo jak masz teraz U21 to chyba wczesniejszą wersją kompilowałeś Twój applet tak? Bo nie napisałeś go jak rozumiem wcoraj? Odinstalowywałes wczesniejsze JDk?

Skończ bawić się w zmienianie nazw katalogów bo to jest dziecinne-zajmij się ClassPath'ami jak Ci radziłem bo w tym leży problem...i gwarantuje Ci, że w JDK nie ma błędów (przynajmniej takich jak Ty sugerujesz).

0

Teraz sprawdziłem, fakt miałem na początku starszą wersję JDK.
Odinstalowałem ją i zainstalowałem nowszą.

To co teraz ma zrobić?

0

Jak zainstalowałeś ją wcześniej odinstalowywując poprzednią to nie powinno byc prbleemu. Hmm....
Sprawdz na dyskach lokalnych ile i gdzie masz pliki java.exe i javac.exe

0
C:\Program Files\Common Files\Adobe\CS4ServiceManager\jre\bin\java.exe
C:\Program Files\Java\jdk1.6.0_21\bin\java.exe
C:\Program Files\Java\jdk1.6.0_21\jre\bin\java.exe
C:\Program Files\Java\jre6\bin\java.exe
C:\Windows\System32\java.exe

C:\Program Files\Java\jdk1.6.0_21\jre\bin\javac.exe

To może spróbuje reinstalacji JDK ?

0

Reinstalacja JDK nie pomogła.
To teraz pasuje formata zrobić.

Do tego jak mam uruchomione jakieś inne aplety i uruchomię ten mój to wszystkie się zawieszają.

0

A pokaż swój aplet...

0

Żaden applet Ci nie działa? nie no format pewnie pomoze ale nie przesadzajmy.
Wywal tą java.exe z windows/system32 i spróbuj ponownie

0

Bywa że z apletami dzieją się cuda. U mnie na desktopie w FF od wersji 3.5.3 aplety (i konsola Javy) nie działają - bez żadnych komunikatów o błędach. W IE i Operze działają. Po zainstalowaniu FF 3.5.1 (bez zmiany profilu) działają, po powrocie na nowszą wersję nie działają. Na forum Mozilli mi nie wierzą.

0

No właśnie cuda się dzieją.
Wywalenie java.exe z windows/system32 nie pomogło.

Nic na dniach zrobię formata. A jak uwarzcie która wersja JDK jest najstabliniejsza czy opłaca się instalwać najnowsz??

0

Każda jest stabilna, nie opłaca się formatować, nie opłaca się instalować najnowszego JRE (JDK do uruchamiania apletów jest niepotrzebne).
Ten Twój aplet jest ze złota, że nie możesz go pokazać?

0

Właśnie-wklejaj tego apleta bo my tu myślimy a powód moze być tryialny ale bez kodu to juz nic więcej nie poradzimy

0

W pierwszym poście jest link w którym przedstawiony jest ten aplet.

0

To jeszcze pokaż fragment pliku HTML z apletem.

0

Rozmiary w javie zmieniłem tylko

<center>
<APPLET codebase="classes" code="PuzzleAplet.class" width=450 height=336></APPLET>
</center>

Zrobiłem format zainstalowałem JDK 6.21 i teraz wszystko działa (ciekawe jak długo?).

0

prawdopodobnie miałeś problem z cache loadera klas lub cache przeglądarki lub cache serwera http. Czasami zdarza się, że pomimo zmiany pliku na serwerze loader klas nie widzi (nie wnikając którego z powyższych jest to problem), że na serwerze pojawiła się nowa wersja jar-a i korzysta ze starej z cache'u.

Zauważyłem, że warto nie nadpisywać pliku jar na serwerze, tylko skasować go i wrzucić nowy plik - to pomaga na kłopoty z cache'm. ;]

Tłumaczyłoby też powód dlaczego na innym komputerze działa.

0

A jest na to jakaś rada??

0
dalles napisał(a)

A jest na to jakaś rada??
Nie używać Opery

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