Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Witam, mam pewien problem a mianowicie dostałem zadanie wrzucić applet na strone napisaną w EJB. Wygenerowałem z apletu pliczek .jar i zaimportowałem go do projektu strony jako Referenced library. Do projektu strony dodałem pliczek .xhtml w którym sie ma otwierać applet


<applet code="pack/Main.class" archive="test.jar" alt="Utiliser un navigateur compatible Java 1.5" style="width:1100px; height:600px">Przeglądarka nie obsługuje aplikacji Java</applet>


jak otwieram stronę to w konsoli wyswietla mi sie taki komunikat


java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file pack/Main
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.ClassFormatError: Incompatible magic value 1008813135 in class file pack/Main


Strona jest generowana do pliku .ear i wrzucana na serwer glassfish. Bardzo prosze o pomoc.

konto usunięte

Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Dzieki za bystra odpowiedz, ale już korzystałem i gdyby mi sie udało to pewnie bym wam głowę nie zawracał.
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Nie mogę dalej sobie z tym problemem poradzić, czytałem coś że może być wyłączona obsługa plików .jar ale to pisali ludzie co mieli zainstalowany inny serwer niż glassfish, czy możliwe by to był ten sam problem? Jeżeli tak to jak włączyć w obsługę jarów w glassish?

Prosze o pomoc.

konto usunięte

Temat: Applety w EJB

A co robi ten applet?
Czy w jakis sposob nawiazuje polaczenie z serwerem Glassfish?
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Applety w EJB

Możliwe, że nie ustawiasz CODEBASE, zaś plik z archiwum appleta masz gdzieś nie wiadomo gdzie.

Wartość 1008813135 w hex to 3C 21 44 4F, czyli po ASCIIemu: <!DO i pewnie w miejsce appleta serwowana jest strona <!DOCTYPE ... z informacją o błędzie.
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Aplet wyświetla w sumie tylko teks, bo taki sobie utworzyłem do testów. Właśnie nie wiem jak z tą ścieżka bo ja ręcznie wrzucam ten pliczek jar do folderu gdzie sie znajduje xhtml który go otwiera a nie w ear i możliwe że tu jest błąd zaraz sprawdzę. Dzięki za zainteresowanie:) aha i mam jeszcze jedno pytanie czy można tak zrobić że najpierw podam jakąś wartość do jednej z class tego jara a potem go wyświetlę z tą wartością?
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

pliczek jar jest w tym samym pliku co xhtml i jak wejde sobie do domain/domain1/application i znajde sobie folder z plikiem xhtml jest tam jar jak klikam na pliczek xhtml to wtedy applet sie uruchamia, ale jak zaloguje sie na swojej stronie i przechodzę na zakladke gdzie ma sie wyświetlić applet to sie nie wyswietla i w consoli jest cały czas ten błąd. A jak ustawić ten CODEBASE?

konto usunięte

Temat: Applety w EJB

Zapewne przegladarka nie moze odnalezc pliku jar, proponuje abys sprawdzil sobie jakims przegladarkowym narzedziem co zwraca serwer gdy probujesz siegac do jara, zapewne bedzie to blad 404, sprawdz dokladnie adres dostepu do pliku jar (adres z zewnatrz, http:// itd ...)
Dariusz Bujak:
pliczek jar jest w tym samym pliku co xhtml i jak wejde sobie do domain/domain1/application i znajde sobie folder z plikiem xhtml jest tam jar jak klikam na pliczek xhtml to wtedy applet sie uruchamia, ale jak zaloguje sie na swojej stronie i przechodzę na zakladke gdzie ma sie wyświetlić applet to sie nie wyswietla i w consoli jest cały czas ten błąd. A jak ustawić ten CODEBASE?
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Applety w EJB

Dariusz Bujak:
pliczek jar jest w tym samym pliku co xhtml i jak wejde sobie do domain/domain1/application i znajde sobie folder z plikiem xhtml jest tam jar jak klikam na pliczek xhtml to wtedy applet sie uruchamia, ale jak zaloguje sie na swojej stronie i przechodzę na zakladke gdzie ma sie wyświetlić applet to sie nie wyswietla i w consoli jest cały czas ten błąd. A jak ustawić ten CODEBASE?

Spróbuj:


<applet codebase="http://host/sciezka/do/katalogu" code="pack/Main.class" archive="test.jar" alt="Utiliser un navigateur compatible Java 1.5" style="width:1100px; height:600px">Przeglądarka nie obsługuje aplikacji Java</applet>
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Paweł Grzegorz Kwiatkowski:
Dariusz Bujak:
pliczek jar jest w tym samym pliku co xhtml i jak wejde sobie do domain/domain1/application i znajde sobie folder z plikiem xhtml jest tam jar jak klikam na pliczek xhtml to wtedy applet sie uruchamia, ale jak zaloguje sie na swojej stronie i przechodzę na zakladke gdzie ma sie wyświetlić applet to sie nie wyswietla i w consoli jest cały czas ten błąd. A jak ustawić ten CODEBASE?

Spróbuj:


<applet codebase="http://host/sciezka/do/katalogu" [/quote]> code="pack/Main.class" archive="test.jar" alt="Utiliser un [quote]navigateur compatible Java 1.5" style="width:1100px; height:600px">Przeglądarka nie obsługuje aplikacji Java</applet>


teraz wyskakuje mi takie coś,


load: class pack/Main.class not found.
java.lang.ClassNotFoundException: pack.Main.class
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.ClassNotFoundException: pack.Main.class


nie wiem dlaczego nie może znaleźć przecież wskazuje plik, a co lepsze jak usunę tego jara z projektu to i tak ten komunikat sie pokazuje, czyściłem panel sterowania -> java -> settings... -> delete files

To jest katalok gdzie znajduje sie applet o nazwie "test.jar"

C:\glassfish3\glassfish\domains\domain1\applications\Gemma\gemma-web_war\order


a to jest pliczek xhtml w którym ma sie otworzyć applet i on znajduje sie w tym samym miejscu co plik "test.jar"



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">



<ui:composition template="/WEB-INF/templates/BerberisTemplate.xhtml">
<ui:define name="content">
<h1>test</h1>
<p align="center">

<applet codebase="http://192.168.1.24:8080/gemma-web_war/order" code="pack/Main.class" archive="test.jar" alt="Utiliser un navigateur compatible Java 1.5" style="width:1100px; height:600px">Przeglądarka nie obsługuje aplikacji Java</applet>

</p>
</ui:define>
</ui:composition>
</html>



a tak wygląda plik "test.jar"


package pack;

import javax.swing.JApplet;
import javax.swing.JLabel;
import java.awt.BorderLayout;

public class Main extends JApplet{

public Main(){
JLabel lblTest = new JLabel("test");
getContentPane().add(lblTest, BorderLayout.CENTER);
}
public void init(){ }
}



prosze możecie mi napisać jak ten plik xhtml powinien wyglądać bo ja już tego nie ogarniamDariusz Bujak edytował(a) ten post dnia 11.08.11 o godzinie 16:57
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Applety w EJB

Jeśli wklepiesz do przegladarki: http://192.168.1.24:8080/gemma-web_war/order/test.jar to czy pobierasz plik test.jar i jest w nim to co trzeba? (tzn. po rozpakowaniu pojawia sie podkatalog pack a w nim Main.class ? )

Jeśli tak, to ustaw CODE="pack.Main.class".Paweł Grzegorz Kwiatkowski edytował(a) ten post dnia 12.08.11 o godzinie 08:13
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: Applety w EJB

Bardzo dziękuje wszystkim za zainteresowanie i za pomoc. Niestety nie udało sie tego odpalić tego na glassfishu i postanowiłem przejść na tomcada gdzie nie ma już problemu z odpaleniem tego appletu. Pozdrawiam wszystkich i jeszcze raz wielkie dzięki za pomoc.

Następna dyskusja:

EJB 3.0




Wyślij zaproszenie do