When I tried to create the project structure "(root) -> core -> subcore", the shell threw this error:
java.lang.IllegalArgumentException: Project metadata required at org.springframework.roo.support.util.Assert.notNull(Assert.java:112) at org.springframework.roo.project.ApplicationContextOperationsImpl.createMiddleTierApplicationContext(ApplicationContextOperationsImpl.java:34) at org.springframework.roo.project.MavenOperationsImpl.createModule(MavenOperationsImpl.java:88) at org.springframework.roo.project.MavenCommands.createModule(MavenCommands.java:82) 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)