Re: build with 'maven war'
Morten Norby Larsen <[email protected]>
| Newsgroups | gmane.comp.java.keel.devel |
|---|---|
| Message-ID | <[email protected]> |
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 > -- 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