Ein Dynamic Web Project kannst du mit Eclipseboardmitteln auf nen lokal installieren Server schubsen und bekommst Hotdeployment out of the box
Genau das versuche ich den ganzen Tag Ok, also noch mal langsam:
Ich deploye meine Anwendung, die wir ja schon zur genüge Auseinander genommen haben. Starte meinen Browser, gehe auf meinen lokalen Server, alles wunderbar. Wenn ich jetzt eine JSP Seite ändere (ich speichere, Eclipse re-deployed) bekomme ich bei einem refresh meine Seite:
Code:
[#|2008-03-05T09:02:10.871+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=191f506a-6da7-4bf9-ba89-5a872534108a;|StandardWrapperValve[data]: PWC1406: Servlet.service() for servlet data threw exception
Local Exception Stack:
Exception [TOPLINK-6007] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.QueryException
Exception Description: Missing descriptor for [class dd.entities.Dreminder].
Query: ReadAllQuery(dd.entities.Dreminder)
at oracle.toplink.essentials.exceptions.QueryException.descriptorIsMissing(QueryException.java:419)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkDescriptor(ObjectLevelReadQuery.java:412)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkPrePrepare(ObjectLevelReadQuery.java:494)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkEarlyReturn(ObjectLevelReadQuery.java:433)
at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:575)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:692)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:746)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2233)
at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:952)
at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:924)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:367)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:478)
at dd.servlets.DataManager.getData(DataManager.java:107)
at dd.servlets.DataManager.service(DataManager.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#]
im Oracle Forum habe ich wie gesagt den oben genannten Artikel gefunden, dass das Problem mit dem Classloader zu tuen haben soll der auf die veraltet Entity zugreift (?) leider habe ich die Lösung die die User da angeboten nicht ganz nachvollziehen können.
Jetzt mein Problem verständlich geworden?
Grüße
D
PS:
Ein einfaches JavaProjekt geht auch nicht
? Ich glaube da hast du nicht ganz verstanden was ich gemacht habe...das "dynamic Web Project" unter Eclipse ist doch auch nichts anderes als ein Java Project mit einer bestimmten Struktur und bestimmen XML Files...und genau die habe ich per Hand geschaffen und nicht mit dem "Wizard" von Eclipse, das ging ja auch...naja analog zumindest mit dem selben Fehler