Re: build with 'maven war'
Michael Nash <[email protected]>
| Newsgroups | gmane.comp.java.keel.devel |
|---|---|
| Organization | JGlobal Limited |
| Message-ID | <[email protected]> |
Morten: I've just deployed a "SNAPSHOT" version of keel-client with the fix as we discussed here. If you change your project.xml dependency for keel-client to have <version>SNAPSHOT</version> and re-build, it should get you the correction and hopefully sidestep this issue entirely. HTH! Mike On Mon, 2005-02-28 at 17:30, Morten Norby Larsen wrote: > Sounds great! It would also seem more in the true spirit of Java not to > depend on the local JVM's physical implementation, file system > included. > > I'm getting more and more curious about actually seeing this beast! > > > On 28 Feb 2005, at 23:01, Michael Nash wrote: > > > Morten: > > > > On Mon, 2005-02-28 at 16:38, Morten Norby Larsen wrote: > >> OK, with the keel plugin 1.2.5 I get the webapp to respond this little > >> gem: > >> > >> org.keel.services.model.ModelException: Cannot find or read > >> /Library/Java/Home/lib/tools.jar > > > > Whoa - that's even more interesting. My understanding was that > > tools.jar > > contained things like the compiler, etc. The $24 question is why the > > heck it's calling that! > > > >> Now, the problem is that the Mac implementation of Java doesn't > >> include > >> the file tools.jar. The classes included in this archive on other > >> platforms have largely been put in classes.jar - which can be found > >> here: > >> > >> /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/ > >> Classes/classes.jar > >> > >> (I found this useful little piece of knowledge here: > >> > >> http://blogs.fivesight.com/pbblog/index.php?p=92 ) > >> > >> If it really is necessary to access the physical file, this should > >> somehow be parameterised. > > > > Indeed, but I can't for the life of me imagine why it's needed. I think > > it's a "leftover" from when we were doing much more complex > > classloading... > > > > The root cause seems to be here... > > > > java.lang.Exception: Cannot find or read > >> /Library/Java/Home/lib/tools.jar > >> at > >> org.keel.core.classloader.URLClassLoaderPath.getURLArray(URLClassLoade > >> rP > >> ath.java:113) > >> at > > > > I believe this is being caused by a few lines of code in KeelStarter > > that don't even need to be there, so I'm going to try to eliminate > > them, > > and thus eliminate this dependency altogether. > > > > Thanks for digging into this! > > > > Mike > > > >> The full stacktrace is here: > >> > >> > >> javax.servlet.ServletException: Exception during model execution: > >> at > >> org.keel.clients.struts.ModelAction.execute(ModelAction.java:82) > >> at > >> org.apache.struts.action.RequestProcessor.processActionPerform(Request > >> Pr > >> ocessor.java:421) > >> at > >> org.apache.struts.action.RequestProcessor.process(RequestProcessor.jav > >> a: > >> 226) > >> at > >> org.apache.struts.action.ActionServlet.process(ActionServlet.java: > >> 1164) > >> at > >> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli > >> ca > >> tionFilterChain.java:247) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi > >> lt > >> erChain.java:193) > >> at > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa > >> lv > >> e.java:256) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa > >> lv > >> e.java:191) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > >> 2417) > >> at > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja > >> va > >> :180) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcher > >> Va > >> lve.java:171) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja > >> va > >> :172) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv > >> e. > >> java:174) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java: > >> 193) > >> at > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: > >> 781) > >> at > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces > >> sC > >> onnection(Http11Protocol.java:549) > >> at > >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: > >> 589) > >> at > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo > >> ol > >> .java:666) > >> at java.lang.Thread.run(Thread.java:552) > >> > >> > >> root cause > >> org.keel.services.model.ModelException: Cannot find or read > >> /Library/Java/Home/lib/tools.jar > >> at > >> org.keel.clients.direct.KeelClientDirect.execute(KeelClientDirect.java > >> : > >> 73) > >> at > >> org.keel.clients.DefaultClientConnector.execute(DefaultClientConnector > >> .j > >> ava:51) > >> at > >> org.keel.clients.webapp.AbstractWebappClientConnector.execute(Abstract > >> We > >> bappClientConnector.java:73) > >> at > >> org.keel.clients.struts.StrutsClientConnector.execute(StrutsClientConn > >> ec > >> tor.java:105) > >> at > >> org.keel.clients.struts.ModelAction.execute(ModelAction.java:70) > >> at > >> org.apache.struts.action.RequestProcessor.processActionPerform(Request > >> Pr > >> ocessor.java:421) > >> at > >> org.apache.struts.action.RequestProcessor.process(RequestProcessor.jav > >> a: > >> 226) > >> at > >> org.apache.struts.action.ActionServlet.process(ActionServlet.java: > >> 1164) > >> at > >> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli > >> ca > >> tionFilterChain.java:247) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi > >> lt > >> erChain.java:193) > >> at > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa > >> lv > >> e.java:256) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa > >> lv > >> e.java:191) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > >> 2417) > >> at > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja > >> va > >> :180) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcher > >> Va > >> lve.java:171) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja > >> va > >> :172) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv > >> e. > >> java:174) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java: > >> 193) > >> at > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: > >> 781) > >> at > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces > >> sC > >> onnection(Http11Protocol.java:549) > >> at > >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: > >> 589) > >> at > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo > >> ol > >> .java:666) > >> at java.lang.Thread.run(Thread.java:552) > >> > >> ----------------------------------------- > >> java.lang.Exception: Cannot find or read > >> /Library/Java/Home/lib/tools.jar > >> at > >> org.keel.core.classloader.URLClassLoaderPath.getURLArray(URLClassLoade > >> rP > >> ath.java:113) > >> at > >> org.keel.clients.KeelStarter.createKeelDirectServer(KeelStarter.java: > >> 70) > >> at org.keel.clients.KeelStarter.execute(KeelStarter.java:221) > >> at > >> org.keel.clients.direct.KeelClientDirect.execute(KeelClientDirect.java > >> : > >> 70) > >> at > >> org.keel.clients.DefaultClientConnector.execute(DefaultClientConnector > >> .j > >> ava:51) > >> at > >> org.keel.clients.webapp.AbstractWebappClientConnector.execute(Abstract > >> We > >> bappClientConnector.java:73) > >> at > >> org.keel.clients.struts.StrutsClientConnector.execute(StrutsClientConn > >> ec > >> tor.java:105) > >> at > >> org.keel.clients.struts.ModelAction.execute(ModelAction.java:70) > >> at > >> org.apache.struts.action.RequestProcessor.processActionPerform(Request > >> Pr > >> ocessor.java:421) > >> at > >> org.apache.struts.action.RequestProcessor.process(RequestProcessor.jav > >> a: > >> 226) > >> at > >> org.apache.struts.action.ActionServlet.process(ActionServlet.java: > >> 1164) > >> at > >> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > >> at > >> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli > >> ca > >> tionFilterChain.java:247) > >> at > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi > >> lt > >> erChain.java:193) > >> at > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa > >> lv > >> e.java:256) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa > >> lv > >> e.java:191) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > >> 2417) > >> at > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja > >> va > >> :180) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcher > >> Va > >> lve.java:171) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja > >> va > >> :172) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:641) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv > >> e. > >> java:174) > >> at > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext > >> .i > >> nvokeNext(StandardPipeline.java:643) > >> at > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java > >> : > >> 480) > >> at > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > >> at > >> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java: > >> 193) > >> at > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: > >> 781) > >> at > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces > >> sC > >> onnection(Http11Protocol.java:549) > >> at > >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: > >> 589) > >> at > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo > >> ol > >> .java:666) > >> at java.lang.Thread.run(Thread.java:552) > >> > >> > >> > >> > >> > >> > >> On 28 Feb 2005, at 17:36, Morten Norby Larsen wrote: > >> > >>> > >>> On 28 Feb 2005, at 17:08, Michael Nash wrote: > >>> > >>>> Morten: > >>>> > >>>> Interesting! I had the same thing happen, and thought it was a > >>>> fluke. > >>>> I > >>>> did a maven clean; maven war, re-deployed again and all was well. > >>> > >>> I have just tried that, but it didn't change anything for me. > >>> > >>>> > >>>> Apparently it wasn't a fluke - thanks for the confirmation. The > >>>> mysterious "do it the second time and it works" bug is real :-) > >>> > >>> I made a mistake the first time and ran maven keel instead of maven > >>> war, and it downloaded a lot of packages (this was after clearing the > >>> repository). I noticed that one of them was Velocity 1.4. At the end > >>> it complained that the goal keel wasn't defined. > >>> > >>> Then, I ran (without clearing the repo) maven war, and among the > >>> packages it downloaded was Velocity 1.3.1. If this happens with more > >>> packages, it could be a possible explanation of the two passes needed > >>> - but maybe I'm way off, here. > >>> > >>> > >>> Cheers, > >>> > >>> Morten > >>> > >>> -- > >>> Morten Norby Larsen > >>> [email protected] > >>> Ludit s.r.l. Phone: +39 02 26 11 72 > >>> 80 > >>> Via Battaglia 8, I-20127 Milano, Italy Fax: +39 02 28 46 037 > >>> > >>> http://keelframework.org/documentation.shtml > >>> Keelgroup mailing list > >>> [email protected] > >>> http://lists.keelframework.com/listinfo.cgi/keelgroup- > >>> keelframework.com > >>> > > > > http://keelframework.org/documentation.shtml > > Keelgroup mailing list > > [email protected] > > http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com > > http://keelframework.org/documentation.shtml Keelgroup mailing list [email protected] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com