Spring Roo 2 部署

Spring Roo 2 deployment

按照 Roo 网站的说明进行操作后:

mkdir hello
cd hello
roo.sh
roo> project setup --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.domain.Timer
roo> field string --fieldName message --notNull
roo> repository jpa --all
roo> service --all
roo> web mvc setup
roo> web mvc view setup --type THYMELEAF
roo> web mvc controller --all --responseType THYMELEAF
roo> web mvc controller --all --pathPrefix /api
roo> quit

我运行

mvn package

如 Roo 参考资料中所述 (https://docs.spring.io/spring-roo/docs/2.0.x/reference/html/#using-spring-roo-create-boot-app)

此操作的结果是创建了两个 jar。

target/foo-1.0.0.BUILD-SNAPSHOT.jar
target/foo-1.0.0.BUILD-SNAPSHOT-exec.jar

说明运行它用命令

java -jar target/foo-1.0.0.BUILD-SNAPSHOT.jar

一切顺利。但是在网页上点击列表项后出现异常。

2017-10-05 14:48:43.940 ERROR 1514 --- [nio-8080-exec-4] org.thymeleaf.TemplateEngine             : [THYMELEAF][http-nio-8080-exec-4] Exception processing template "timers/list": Error resolving fragment: "${content}": template or fragment could not be resolved (template: "fragments/modal-confirm-delete" - line 18, col 16)

org.thymeleaf.exceptions.TemplateInputException: Error resolving fragment: "${content}": template or fragment could not be resolved (template: "fragments/modal-confirm-delete" - line 18, col 16)
at org.thymeleaf.standard.processor.AbstractStandardFragmentInsertionTagProcessor.doProcess(AbstractStandardFragmentInsertionTagProcessor.java:116) ~[thymeleaf-3.0.0.RELEASE.jar!/:3.0.0.RELEASE]
at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.0.RELEASE.jar!/:3.0.0.RELEASE]
at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.0.RELEASE.jar!/:3.0.0.RELEASE]
at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.0.RELEASE.jar!/:3.0.0.RELEASE]
at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement(ProcessorTemplateHandler.java:1304) ~[thymeleaf-3.0.0.RELEASE.jar!/:3.0.0.RELEASE]

注意:如果应用 运行 使用

,则不会发生这种情况
mvn spring-boot:run

知道我做错了什么吗?

我认为你所有的步骤都是正确的。这是 spring-roo-2.0.0.RC2 的一个小问题。

我在 Spring JIRA Issue

中有一个建议