Klasse in einem anderen projekt ausführen

javama

Erfahrenes Mitglied
Poste mal den gesamten Stacktrace, daraus sollte ersichtlich sein, warum diese Exception geworfen wird. Vielleicht greifst du einfach nur auf graphische Komponenten, etc. zu, ohne dass das beabsichtigt ist.

ich bekomme folgendes :
Java:
SCHWERWIEGEND: java.awt.HeadlessException
javax.faces.el.EvaluationException: java.awt.HeadlessException
	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)
	at javax.faces.component.UICommand.broadcast(UICommand.java:325)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
	at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:17)
	at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCyclePartial(ReceiveSendUpdates.java:64)
	at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:40)
	at com.icesoft.faces.webapp.http.core.ViewBoundServer.service(ViewBoundServer.java:65)
	at com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:44)
	at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
	at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
	at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
	at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
	at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
	at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
	at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
	at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
	at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:46)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.awt.HeadlessException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
	at java.awt.Window.<init>(Window.java:431)
	at java.awt.Frame.<init>(Frame.java:403)
	at javax.swing.JFrame.<init>(JFrame.java:202)
	at tabbedpane.TabbedPaneHauptauswahl.<init>(TabbedPaneHauptauswahl.java:48)
	at tabbedpane.TabbedPaneHauptauswahl.getHauptfenster(TabbedPaneHauptauswahl.java:147)
	at tabbedpane.MainClass.main(MainClass.java:13)
	at de.myicefaces.Mitarbeiter.showGui(Mitarbeiter.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
	... 34 more
06.07.2012 17:24:40 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet Blocking Servlet threw exception
javax.faces.el.EvaluationException: java.awt.HeadlessException
	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)
	at javax.faces.component.UICommand.broadcast(UICommand.java:325)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
	at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:17)
	at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCyclePartial(ReceiveSendUpdates.java:64)
	at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:40)
	at com.icesoft.faces.webapp.http.core.ViewBoundServer.service(ViewBoundServer.java:65)
	at com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:44)
	at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
	at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
	at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
	at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
	at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
	at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
	at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
	at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
	at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:46)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.awt.HeadlessException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
	at java.awt.Window.<init>(Window.java:431)
	at java.awt.Frame.<init>(Frame.java:403)
	at javax.swing.JFrame.<init>(JFrame.java:202)
	at tabbedpane.TabbedPaneHauptauswahl.<init>(TabbedPaneHauptauswahl.java:48)
	at tabbedpane.TabbedPaneHauptauswahl.getHauptfenster(TabbedPaneHauptauswahl.java:147)
	at tabbedpane.MainClass.main(MainClass.java:13)
	at de.myicefaces.Mitarbeiter.showGui(Mitarbeiter.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
	... 34 more
 

genodeftest

Erfahrenes Mitglied
Du hast graphische Componenten wie JFrame verwendet. Wozu? auf einem headless Server brauchst du keine graphische Oberfläche!
Warum willst du von deiner main-Klasse MainClass aus ein Fenster erzeugen? auf einem headless server gibt es keine Fenster!
 

jottes

Grünschnabel
[sorry... hatte die Antworten nicht gesehen. Das Problem scheint ein Anderes zu sein]
Ich vermute mal das du eclipse verwendest. In dem Dialog, in dem du den Build-Path konfigurierst, hast du ja verschiedene Reiter. So wie ich dich verstanden habe, hast du da unter dem Reiter "Projects" dein Projekt1 hinzugefügt. Jetzt musst du noch auf den Reiter "Order and Export" und den Haken an das Projekt setzen, das du da hinzugefügt hast. Dann sollte es funktionieren.
 

javama

Erfahrenes Mitglied
Du hast graphische Componenten wie JFrame verwendet. Wozu? auf einem headless Server brauchst du keine graphische Oberfläche!
Warum willst du von deiner main-Klasse MainClass aus ein Fenster erzeugen? auf einem headless server gibt es keine Fenster!

meinst du jetzt, das wird nicht fukionieren!
ich habe eine webanwendung (projekt1) und beinhaltet einen Button und möchte das so haben, dass wenn der Button angeklickt wird, ein JFarme erzeugt wird (projekt2).
 

deepthroat

Erfahrenes Mitglied
Hi.
meinst du jetzt, das wird nicht fukionieren!
ich habe eine webanwendung (projekt1) und beinhaltet einen Button und möchte das so haben, dass wenn der Button angeklickt wird, ein JFarme erzeugt wird (projekt2).
Was willst du denn bei einer Webanwendung mit einem JFrame?

Nein, das kann so nicht funktionieren. Die Webanwendung läuft auf dem Server, die Darstellung erfolgt auf dem Client / im Browser.

Gruß
 

javama

Erfahrenes Mitglied
Hi.
Was willst du denn bei einer Webanwendung mit einem JFrame?

Nein, das kann so nicht funktionieren. Die Webanwendung läuft auf dem Server, die Darstellung erfolgt auf dem Client / im Browser.

Gruß

Jframe wil ich von der webanwendung nur starten (ich will nicht, dass die JFrame mit browser geöffnet wird sonst hätte ich Applet genommen)
ich will die JFrame nur starten.
 

sheel

I love Asm
Genau darum geht es doch.

Wenn das nicht im Browser angezeigt werden soll, wo dann?
Auf dem Server, der weder Bildschirm noch Grafikunterstützung generell hat?

Deswegen die Exception.
Der Server kann einfach kein JFrame anzeigen.
 

deepthroat

Erfahrenes Mitglied
Jframe wil ich von der webanwendung nur starten (ich will nicht, dass die JFrame mit browser geöffnet wird sonst hätte ich Applet genommen)
ich will die JFrame nur starten.
Nun, das geht im Headless Modus nicht. Du kannst schließlich nichts anzeigen, da kannst du nicht einfach etwas zum Anzeigen starten...

Du müßtest dann auf dem Server die JVM Variante mit Grafik-Geräteunterstützung installieren (eben non-headless) und dann auch noch eine grafische Umgebung zur Verfügung stellen (unter Linux einen X Server).

Vermutlich wäre es besser dein Problem auf eine andere Weise zu lösen.

Wozu willst du denn auf dem Server einen JFrame starten?

Gruß
 

Akeshihiro

Erfahrenes Mitglied
Ich denke, er will das JFrame gar nicht auf dem Server starten, sondern auf dem Client, quasi als Dialog, oder ich habs falsch verstanden, aber dann ergibt die Sache noch viel weniger Sinn. Diesbezüglich kann ich wohl nichts beitragen. Aber da deine Webanwendung für den Client lediglich eine Homepage ist und somit keine JVM läuft, müsstest du es irgendwie hinbekommen, dass eine JVM gestartet wird und diese dann dein zweites Projekt lädt. Und das wiederum klingt für mich nach einem Fall für WebStart. Das sollte dann wohl klappen.
 

javama

Erfahrenes Mitglied
Ich denke, er will das JFrame gar nicht auf dem Server starten, sondern auf dem Client, quasi als Dialog, oder ich habs falsch verstanden, aber dann ergibt die Sache noch viel weniger Sinn. Diesbezüglich kann ich wohl nichts beitragen. Aber da deine Webanwendung für den Client lediglich eine Homepage ist und somit keine JVM läuft, müsstest du es irgendwie hinbekommen, dass eine JVM gestartet wird und diese dann dein zweites Projekt lädt. Und das wiederum klingt für mich nach einem Fall für WebStart. Das sollte dann wohl klappen.

genau
ja ich will das JFrame nicht auf dem Server starten, sondern auf dem cleint als Dialog.

kann ich jetzt mein projekt (Swing) in WebStart umwnadeln, oder soll ich alles vom anfang an wiederholen.
 

Neue Beiträge