Re: build with 'maven war'
Morten Norby Larsen <[email protected]>
| Newsgroups | gmane.comp.java.keel.devel |
|---|---|
| Message-ID | <[email protected]> |
Mike, I still get the same error, even if it downloads keel-client-SNAPSHOT.jar seemingly all right. Do my maven.repo.remote settings have anything to do with it? They are (from the docs:) maven.repo.remote=http://ibiblio.org/maven,http://keelframework.org/ maven Cheers, Morten On 28 Feb 2005, at 23:31, Michael Nash wrote: > 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(URLClassLoa >>>> de >>>> 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(Reque >>>> st >>>> Pr >>>> ocessor.java:421) >>>> at >>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.j >>>> av >>>> 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(App >>>> li >>>> ca >>>> tionFilterChain.java:247) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Application >>>> Fi >>>> lt >>>> erChain.java:193) >>>> at >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper >>>> Va >>>> lv >>>> e.java:256) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContext >>>> Va >>>> lv >>>> e.java:191) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatch >>>> er >>>> Va >>>> lve.java:171) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve. >>>> ja >>>> va >>>> :172) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa >>>> lv >>>> e. >>>> java:174) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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.jav >>>> a: >>>> 781) >>>> at >>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc >>>> es >>>> sC >>>> onnection(Http11Protocol.java:549) >>>> at >>>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.jav >>>> a: >>>> 589) >>>> at >>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread >>>> Po >>>> 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.ja >>>> va >>>> : >>>> 73) >>>> at >>>> org.keel.clients.DefaultClientConnector.execute(DefaultClientConnect >>>> or >>>> .j >>>> ava:51) >>>> at >>>> org.keel.clients.webapp.AbstractWebappClientConnector.execute(Abstra >>>> ct >>>> We >>>> bappClientConnector.java:73) >>>> at >>>> org.keel.clients.struts.StrutsClientConnector.execute(StrutsClientCo >>>> nn >>>> ec >>>> tor.java:105) >>>> at >>>> org.keel.clients.struts.ModelAction.execute(ModelAction.java:70) >>>> at >>>> org.apache.struts.action.RequestProcessor.processActionPerform(Reque >>>> st >>>> Pr >>>> ocessor.java:421) >>>> at >>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.j >>>> av >>>> 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(App >>>> li >>>> ca >>>> tionFilterChain.java:247) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Application >>>> Fi >>>> lt >>>> erChain.java:193) >>>> at >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper >>>> Va >>>> lv >>>> e.java:256) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContext >>>> Va >>>> lv >>>> e.java:191) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatch >>>> er >>>> Va >>>> lve.java:171) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve. >>>> ja >>>> va >>>> :172) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa >>>> lv >>>> e. >>>> java:174) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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.jav >>>> a: >>>> 781) >>>> at >>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc >>>> es >>>> sC >>>> onnection(Http11Protocol.java:549) >>>> at >>>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.jav >>>> a: >>>> 589) >>>> at >>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread >>>> Po >>>> 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(URLClassLoa >>>> de >>>> 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.ja >>>> va >>>> : >>>> 70) >>>> at >>>> org.keel.clients.DefaultClientConnector.execute(DefaultClientConnect >>>> or >>>> .j >>>> ava:51) >>>> at >>>> org.keel.clients.webapp.AbstractWebappClientConnector.execute(Abstra >>>> ct >>>> We >>>> bappClientConnector.java:73) >>>> at >>>> org.keel.clients.struts.StrutsClientConnector.execute(StrutsClientCo >>>> nn >>>> ec >>>> tor.java:105) >>>> at >>>> org.keel.clients.struts.ModelAction.execute(ModelAction.java:70) >>>> at >>>> org.apache.struts.action.RequestProcessor.processActionPerform(Reque >>>> st >>>> Pr >>>> ocessor.java:421) >>>> at >>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.j >>>> av >>>> 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(App >>>> li >>>> ca >>>> tionFilterChain.java:247) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Application >>>> Fi >>>> lt >>>> erChain.java:193) >>>> at >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper >>>> Va >>>> lv >>>> e.java:256) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContext >>>> Va >>>> lv >>>> e.java:191) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatch >>>> er >>>> Va >>>> lve.java:171) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve. >>>> ja >>>> va >>>> :172) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:641) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 480) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: >>>> 995) >>>> at >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa >>>> lv >>>> e. >>>> java:174) >>>> at >>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveConte >>>> xt >>>> .i >>>> nvokeNext(StandardPipeline.java:643) >>>> at >>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.ja >>>> va >>>> : >>>> 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.jav >>>> a: >>>> 781) >>>> at >>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc >>>> es >>>> sC >>>> onnection(Http11Protocol.java:549) >>>> at >>>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.jav >>>> a: >>>> 589) >>>> at >>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thread >>>> Po >>>> 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 > -- 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