Uploaded image for project: 'Spring Roo'
  1. Spring Roo
  2. ROO-120 Support multi module Maven projects
  3. ROO-2883

Last step of scaffolding multi-module Roo project fails with wrong webmvc-config.xml detection

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.2.0.RC1
    • Fix Version/s: 1.2.0.RC1
    • Component/s: WEB MVC
    • Labels:
      None

      Description

      When I use this script:

      project --topLevelPackage org.chariot.multimodule.demo --projectName multi-module
      module create --moduleName business-tier --topLevelPackage ~.business 
      module focus --moduleName ~
      module create --moduleName web-tier --topLevelPackage ~.web
      
      module focus --moduleName business-tier
      jpa setup --database HYPERSONIC_PERSISTENT --provider HIBERNATE 
      entity jpa --class ~.model.Course --activeRecord false
      field string --fieldName name
      repository jpa --interface ~.orm.CourseRepository --entity ~.model.Course
      service --interface ~.service.CourseService --entity ~.model.Course
      
      module focus --moduleName ~
      module focus --moduleName web-tier
      web mvc setup
      web mvc scaffold --class ~.controller.CourseController --backingType business-tier|~.model.Course
      business-tier|~.model.Course roo> 
      

      I get this exception with the current trunk build as of the spring-roo-1.2.0.BUILD-SNAPSHOT_20111108.053941-75f95ca.zip snapshot and pulling / building Roo from trunk. It appears that the scaffold fails because it is attempting to add the converters to the business project, not the web one. It then sets the focus of the shell to the business tier.

      Is this a bug, or something you're working on in-flight that I'm seeing not completely sewn up in trunk?

      Thanks,

      Ken

      roo> module focus --moduleName web-tier
      web-tier roo> web mvc scaffold --class web-tier|~.controller.CourseController --backingType business-tier|~.model.Course
      '/Users/krimple/roo_demos/demos/multi-module/business-tier/src/main/webapp/WEB-INF/spring/webmvc-config.xml' does not exist
      java.lang.IllegalArgumentException: '/Users/krimple/roo_demos/demos/multi-module/business-tier/src/main/webapp/WEB-INF/spring/webmvc-config.xml' does not exist
          at org.springframework.roo.support.util.Assert.isTrue(Assert.java:65)
          at org.springframework.roo.addon.web.mvc.controller.WebMvcOperationsImpl.installConversionService(WebMvcOperationsImpl.java:71)
          at org.springframework.roo.addon.web.mvc.controller.ControllerOperationsImpl.createAutomaticController(ControllerOperationsImpl.java:120)
          at org.springframework.roo.addon.web.mvc.controller.ControllerCommands.webMvcScaffold(ControllerCommands.java:115)
          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.springframework.roo.support.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:191)
          at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy$1.callback(ProcessManagerHostedExecutionStrategy.java:49)
          at org.springframework.roo.process.manager.internal.DefaultProcessManager.doTransactionally(DefaultProcessManager.java:183)
          at org.springframework.roo.process.manager.internal.DefaultProcessManager.execute(DefaultProcessManager.java:146)
          at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy.execute(ProcessManagerHostedExecutionStrategy.java:47)
          at org.springframework.roo.shell.AbstractShell.executeCommand(AbstractShell.java:204)
          at org.springframework.roo.shell.jline.JLineShell.promptLoop(JLineShell.java:403)
          at org.springframework.roo.shell.jline.JLineShell.run(JLineShell.java:158)
          at java.lang.Thread.run(Thread.java:680)
      

        Attachments

          Activity

            People

            • Assignee:
              aswan Andrew Swan
              Reporter:
              krimple Ken Rimple
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: