Yes. The error you're getting looks like a version mismatch or some other dependency issue. Can you wipe ~/.m2 and try th build again?
Derek On Tue, Jun 30, 2009 at 10:44 AM, glenn <gl...@exmbly.com> wrote: > > Derek, > > I was out of town all last week and just tried to rebuild and run with > your > new changes, but got the following error: > > ERROR - Failed to Boot > java.lang.NoSuchMethodError: net.liftweb.sitemap.SiteMap.<init>(Lscala/ > Seq;)V > at bootstrap.liftweb.Boot.boot(Boot.scala:41) > 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 net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply > (ClassHelpers.scala:408) > at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply > (ClassHelpers.scala:406) > at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply > (LiftRules.scala:1049) > at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply > (LiftRules.scala:1049) > at net.liftweb.util.Full.map(Box.scala:330) > at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1049) > at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:561) > at net.liftweb.http.LiftFilter.init(LiftServlet.scala:529) > at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java: > 97) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:50) > at org.mortbay.jetty.servlet.ServletHandler.initialize > (ServletHandler.java:653) > at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) > at org.mortbay.jetty.webapp.WebAppContext.startContext > (WebAppContext.java:1239) > at org.mortbay.jetty.handler.ContextHandler.doStart > (ContextHandler.java:517) > at > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: > 466) > at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart > (Jetty6PluginWebAppContext.java:124) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:50) > at org.mortbay.jetty.handler.HandlerCollection.doStart > (HandlerCollection.java:152) > at org.mortbay.jetty.handler.ContextHandlerCollection.doStart > (ContextHandlerCollection.java:156) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:50) > at org.mortbay.jetty.handler.HandlerCollection.doStart > (HandlerCollection.java:152) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:50) > at org.mortbay.jetty.handler.HandlerWrapper.doStart > (HandlerWrapper.java:130) > at org.mortbay.jetty.Server.doStart(Server.java:222) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:50) > at org.mortbay.jetty.plugin.Jetty6PluginServer.start > (Jetty6PluginServer.java:132) > at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty > (AbstractJettyMojo.java:441) > at org.mortbay.jetty.plugin.AbstractJettyMojo.execute > (AbstractJettyMojo.java:383) > at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute > (AbstractJettyRunMojo.java:210) > at > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java: > 184) > at org.apache.maven.plugin.DefaultPluginManager.executeMojo > (DefaultPluginManager.java:579) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures > (DefaultLifecycleExecutor.java:498) > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject > (DefaultLifecycleExecutor.java:265) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments > (DefaultLifecycleExecutor.java:191) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute > (DefaultLifecycleExecutor.java:149) > at org.apache.maven.DefaultMaven.execute_aroundBody0 > (DefaultMaven.java:223) > at org.apache.maven.DefaultMaven.execute_aroundBody1$advice > (DefaultMaven.java:304) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) > at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2 > (MavenEmbedder.java:904) > at > org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice > (MavenEmbedder.java:304) > at > org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java: > 1) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) > 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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:289) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:229) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:408) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:351) > at org.codehaus.classworlds.Launcher.main(Launcher.java:31) > > When I ran the my app, all the menu links just said "No navigation > defined". > I'm using lift 1.1-SNAPSHOT out of http://scala-tools.org/repo-snapshots. > Is this where you made your changes? > > Glenn... > > On Jun 22, 9:37 am, Derek Chen-Becker <dchenbec...@gmail.com> wrote: > > Pushed to master. > > > > On Fri, Jun 19, 2009 at 11:54 AM, glenn <gl...@exmbly.com> wrote: > > > > > Derek, > > > > > It does not appear that these changes have been migrated to the > > > snapshot repository yet. > > > What are you plans? > > > > > thanks, > > > > > Glenn... > > > > > On Jun 19, 8:57 am, Derek Chen-Becker <dchenbec...@gmail.com> wrote: > > > > OK, I've committed some new support for groups in the MenuWidget > class. > > > > Also, the existing MenuWidget had facilities set up to take a SiteMap > > > > instance as part of the setup params, but those params were never > used. > > > In > > > > the interest of simplicity, I've removed those extra params unless > > > someone > > > > has a use case that's not covered by groups or the other new > > > functionality. > > > > If no one has any issues with the new code I'll merge to master later > > > today. > > > > > > Derek > > > > > > On Fri, Jun 12, 2009 at 1:02 PM, Derek Chen-Becker < > > > dchenbec...@gmail.com>wrote: > > > > > > > Tied up with work this afternoon, but I'll look at reworking > MenuWidget > > > > > with the added functionality. > > > > > > > On Fri, Jun 12, 2009 at 6:40 AM, glenn <gl...@exmbly.com> wrote: > > > > > > >> Derek, > > > > > > >> Your new Menu snippet works great. I created a superfish-style > menu > > > > >> using > > > > >> a list of groups, like so: > > > > > > >> object MenuWidgetEx { > > > > > > >> def apply(groups:List[String]) = new MenuWidgetEx(groups, > > > > >> MenuStyle.HORIZONTAL, JsObj()) render > > > > > > >> def apply(groups:List[String], style: MenuStyle.Value) = new > > > > >> MenuWidgetEx(groups, style, JsObj()) render > > > > > > >> def apply(groups:List[String], jsObj: JsObj) = new MenuWidgetEx > > > > >> (groups, MenuStyle.HORIZONTAL, jsObj) render > > > > > > >> def apply(groups:List[String], style: MenuStyle.Value, jsObj: > > > > >> JsObj) = new MenuWidgetEx(groups, style, jsObj) render > > > > >> } > > > > > > >> class MenuWidgetEx(groups:List[String], style: MenuStyle.Value, > jsObj: > > > > >> JsObj) extends > > > > >> MenuWidget(LiftRules.siteMap open_!, style: MenuStyle.Value, > jsObj: > > > > >> JsObj){ > > > > > > >> override def render :NodeSeq = { > > > > > > >> def buildMenu(group:String) = <lift:Menu.builder > group={group} > > > > >> expandAll="true" top:class={style.toString} /> > > > > > > >> head ++ <div> > > > > >> {for(group <- groups) yield {buildMenu(group)}} > > > > >> </div> > > > > > > >> } > > > > > > >> Someone should redo the MenuWidget snippet to handle your > > > > >> new Menu.builder construct, so it doesn't have to be subclassed. > > > > > > >> Glenn... > > > > > > >> On Jun 12, 4:59 am, glenn <gl...@exmbly.com> wrote: > > > > >> > My error. Ignore this. I did a mvn clean then mvn install > outside > > > > >> > of Eclipse on the parent pom and everything worked fine. > > > > > > >> > Glenn... > > > > > > >> > On Jun 12, 4:45 am, glenn <gl...@exmbly.com> wrote: > > > > > > >> > > Derek, > > > > > > >> > > I'd love to test the changes you made to Menu, but my build > fails > > > when > > > > >> > > I run > > > > >> > > mvn install on the pom in the lift directory of the download > from > > > > > > >> > >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons > > > > > > >> > > Here's what maven reports: > > > > > > >> > > [WARNING] Warning in manifest for > net.liftweb:lift-webkit:jar:1.1- > > > > >> > > SNAPSHOT : Did not find matching r > > > > >> > > eferal for org.slf4j.* > > > > >> > > [ERROR] Error in manifest for net.liftweb:lift-webkit:jar:1.1- > > > > >> > > SNAPSHOT : The default package '.' is > > > > >> > > not permitted by the Import-Package syntax. > > > > >> > > This can be caused by compile errors in Eclipse because > Eclipse > > > > >> > > creates > > > > >> > > valid class files regardless of compile errors. > > > > >> > > The following package(s) import from the default package > > > > >> > > [net.liftweb.http, net.liftweb.http.auth, n > > > > >> > > et.liftweb.http.js, net.liftweb.http.js.jquery, > > > net.liftweb.sitemap] > > > > >> > > [ERROR] Error(s) found in manifest configuration > > > > >> > > [INFO] > > > > > > ------------------------------------------------------------------------ > > > > >> > > [ERROR] BUILD ERROR > > > > >> > > [INFO] > > > > > > ------------------------------------------------------------------------ > > > > >> > > [INFO] Error(s) found in manifest configuration > > > > > > >> > > It seems like a problem with the construction of the following > > > > >> > > plugin in the pom. > > > > > > >> > > <plugin> > > > > >> > > <groupId>org.apache.felix</groupId> > > > > >> > > <artifactId>maven-bundle-plugin</artifactId> > > > > >> > > <configuration> > > > > >> > > <instructions> > > > > >> > > <Export-Package>! > > > > >> > > > net.liftweb.util.*,net.liftweb.*;version="${pom.version}"</Export- > > > > >> > > Package> > > > > >> > > > <Import-Package>org.slf4j.*;resolution:="optional",*</ > > > > >> > > Import-Package> > > > > >> > > <DynamicImport-Package>*</DynamicImport-Package> > > > > >> > > </instructions> > > > > >> > > </configuration> > > > > >> > > </plugin> > > > > > > >> > > Either that, or there's something else going on. Any ideas? > > > > > > >> > > Glenn... > > > > > > >> > > On Jun 11, 11:54 am, Derek Chen-Becker <dchenbec...@gmail.com > > > > > wrote: > > > > > > >> > > > I'm building some code right now that I think should handle > all > > > of > > > > >> your > > > > >> > > > cases. Since Menu.builder is already concerned with building > a > > > menu > > > > >> tree, I > > > > >> > > > decided that it would be better to allow you to specify a > > > specific > > > > >> item or > > > > >> > > > group to Menu.builder instead of conflating tree building > with > > > the > > > > >> current > > > > >> > > > Menu.item and Menu.group snippets. Given a SiteMap like: > > > > > > >> > > > val menus = > > > > >> > > > Menu(Loc("Home", List("index"), "Home Page")) :: > > > > >> > > > Menu(Loc("Viewtest", List("ViewTest", "test"), "View > > > test")) > > > > >> :: > > > > >> > > > Menu(Loc("InsecureViewtest", List("Insecure", "test"), > > > > >> "Insecure View > > > > >> > > > test")) :: > > > > >> > > > Menu(Loc("SelectTest", List("select"), "asm select > test")) > > > :: > > > > >> > > > Menu(Loc("Help", List("help", "index"), "Help", > > > > >> LocGroup("help")), > > > > >> > > > Menu(Loc("About", List("help", "about"), "About", > > > > >> LocGroup("help"))), > > > > >> > > > Menu(Loc("Version", List("help", "version"), > "Version", > > > > >> > > > LocGroup("help")))) :: Nil > > > > > > >> > > > You can render just the Help tree with: > > > > > > >> > > > <lift:Menu.builder item="Help" expandAll="true" /> > > > > > > >> > > > Which will render something like: > > > > > > >> > > > <ul><li><a href="/testthis/help/ > > > > >> > > > <view-source:http://localhost:9090/testthis/help/ > > > > >> >">Help</a><ul><li><a > > > > >> > > > href="/testthis/help/about > > > > >> > > > <view-source:http://localhost:9090/testthis/help/about > > > > >> >">About</a></li><li><a > > > > >> > > > href="/testthis/help/version > > > > >> > > > <view-source:http://localhost:9090/testthis/help/version > > > > >> >">Version</a></li></ul></li></ul> > > > > > > >> > > > Similarly, you can use a group attribute: > > > > > > >> > > > <lift:Menu.builder group="help" expandAll="true" /> > > > > > > >> > > > But notice that this won't deduplicate entries, so we would > > > render > > > > >> something > > > > >> > > > like: > > > > > > >> > > > <ul><li><a href="/testthis/help/ > > > > >> > > > <view-source:http://localhost:9090/testthis/help/ > > > > >> >">Help</a><ul><li><a > > > > >> > > > href="/testthis/help/about > > > > >> > > > <view-source:http://localhost:9090/testthis/help/about > > > > >> >">About</a></li><li><a > > > > >> > > > href="/testthis/help/version > > > > >> > > > <view-source:http://localhost:9090/testthis/help/version > > > > >> >">Version</a></li></ul></li><li><a > > > > >> > > > href="/testthis/help/about > > > > >> > > > <view-source:http://localhost:9090/testthis/help/about > > > > >> >">About</a></li><li><a > > > > >> > > > href="/testthis/help/version > > > > >> > > > <view-source:http://localhost:9090/testthis/help/version > > > > >> >">Version</a></li></ul> > > > > > > >> > > > This is currently checked in on the wip-dcb-menu-addons > branch: > > > > > > >> > > >http://github.com/dpp/liftweb/tree/wip-dcb-menu-addons > > > > > > >> > > > Thoughts? > > > > > > >> > > > Derek > > > > > > >> > > > On Mon, Jun 8, 2009 at 5:49 PM, glenn <gl...@exmbly.com> > wrote: > > > > > > >> > > > > Yes, > > > > > > >> > > > > I would like the expandAll behavior to work for groups and > for > > > > >> non- > > > > >> > > > > root siteMaps. > > > > >> > > > > Here's a specific use-case. The MenuWidget in the > lift-widgets > > > > >> package > > > > >> > > > > just passes everything > > > > >> > > > > through as > > > > > > >> > > > > def render : NodeSeq = { > > > > >> > > > > head ++ <lift:Menu.builder expandAll="true" top:class= > > > > >> > > > > {style.toString} /> > > > > >> > > > > } > > > > > > >> > > > > So, even though the MenuWidget object has factory methods > > > > >> > > > > for using a non-root siteMap, only the root siteMap is > ever > > > used. > > > > >> > > > > That's > > > > >> > > > > because Menu.builder calls a private function renderWhat, > like > > > so: > > > > > > >> > > > > val toRender = renderWhat(expandAll) > > > > > > >> > > > > which iterates through the root siteMap. There is no way, > > > really, > > > > >> to > > > > >> > > > > subclass that > > > > >> > > > > to use a different siteMap. > > > > > > >> > > > > The problem with the Menu.group snippet is that it just > works > > > off > > > > >> the > > > > >> > > > > named group in > > > > >> > > > > the root siteMap, creating a parent node, but not the > kids. > > > > > > >> > > > > It would be nice to use MenuWidget, or some subclass, to > > > create a > > > > >> > > > > superfish-style > > > > >> > > > > nav-bar or horizontal menu for groups or non-root siteMaps > > > just as > > > > >> > > > > easily as for the > > > > >> > > > > entire root siteMap. > > > > > > >> > > > > Glenn... > > > > > > >> > > > > On Jun 8, 3:51 pm, Joe Wass <j...@folktunefinder.com> > wrote: > > > > >> > > > > > What I really wanted was a menu group. Doing things in > > > groups > > > > >> has > > > > ... > > > > read more ยป > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---