2017-03-08 28 views
1

測試新插件語言Spring Roo的2.0.0.RC1:如果我用我的新的語言附加組件在診所例如我長期做下去堆棧跟蹤

我現在語言附加組件在診所德國語言和使用IST例。

安裝後新的語言附加組件我設置

web mvc language --code de --useAsDefault in clinic.roo 

web mvc language --code es 

當我啓動應用程序都在德國。但是在我啓動應用程序的命令行程序中,發生了很長的堆棧跟蹤。

2017-03-08 12:00:53.176 ERROR - QP: - 9544 --- [nio-8082-exec-2] org.thymeleaf.TemplateEngine    : [THYMELEAF][http-nio-8082-exec-2] Exception processing template "index": An error happened during template parsing (template: "class path resource [templates/index.html]") 

org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/index.html]") 
     at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) ~[thymeleaf-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) ~[thymeleaf-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:667) ~[thymeleaf-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1087) [thymeleaf-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1061) [thymeleaf-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335) [thymeleaf-spring4-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:189) [thymeleaf-spring4-3.0.0.RELEASE.jar:3.0.0.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
... 

只有一個從堆棧跟蹤的短片段。 然後我切換到西班牙語或英語沒有堆棧跟蹤。 當我切換回德國時,發生堆棧跟蹤。 爲什麼?哪裏不對?

我在northwind-multimodule中測試新語言並獲得堆棧跟蹤 當我切換到德語並且菜單不工作後。我可以添加url param lang = en,然後菜單再次工作。

另注:

標籤切換語言,在德國的所有標籤OK(我已經把他們message_de.properties),但在西班牙語或英語的德國標籤也不行。

在消息屬性中,沒有德語的language_Label屬性,因爲在I18N插件中,消息屬性沒有德語的language_Label。 插件現在沒有其他語言的任何內容。 我已經手動添加這個條目,然後一切就OK了。

好吧,我測試它只能使用正常的message.properties並將名稱更改爲message_de.properties。 然後建立插件新的臨牀實例使用的語言時,並得到堆棧跟蹤:

2017-03-16 12:48:26.179 WARN - QP: - 6104 --- [nio-8082-exec-4] o.s.w.s.r.WebJarsResourceResolver 
     : WebJar version conflict for "momentjs/locale/de.js" 

org.webjars.MultipleMatchesException: Multiple matches found for locale/de.js. Please provide a more 
specific path, for example by including a version number. 
     at org.webjars.WebJarAssetLocator.getFullPath(WebJarAssetLocator.java:259) ~[webjars-locator 
-core-0.30.jar:na] 
     at org.webjars.WebJarAssetLocator.getFullPath(WebJarAssetLocator.java:200) ~[webjars-locator 
-core-0.30.jar:na] 
     at org.springframework.web.servlet.resource.WebJarsResourceResolver.findWebJarResourcePath(W 
ebJarsResourceResolver.java:108) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.WebJarsResourceResolver.resolveResourceInternal(
WebJarsResourceResolver.java:79) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.AbstractResourceResolver.resolveResource(Abstrac 
tResourceResolver.java:46) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.DefaultResourceResolverChain.resolveResource(Def 
aultResourceResolverChain.java:57) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.CachingResourceResolver.resolveResourceInternal(
CachingResourceResolver.java:78) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.AbstractResourceResolver.resolveResource(Abstrac 
tResourceResolver.java:46) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.DefaultResourceResolverChain.resolveResource(Def 
aultResourceResolverChain.java:57) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.getResource(ResourceH 
ttpRequestHandler.java:432) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(Resourc 
eHttpRequestHandler.java:333) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAd 
apter.java:51) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) 
[spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) [ 
spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970 
) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) [spring 
-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [tomcat-embed-core-8.5.5.jar 
:8.5.5] 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spri 
ng-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [tomcat-embed-core-8.5.5.jar 
:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:230) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-webs 
ocket-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilterInternal(Resou 
rceUrlEncodingFilter.java:53) [spring-webmvc-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:10 
7) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java: 
208) [spring-security-web-4.1.3.RELEASE.jar:4.1.3.RELEASE] 
     at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) [sp 
ring-security-web-4.1.3.RELEASE.jar:4.1.3.RELEASE] 
     at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy 
.java:346) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java: 
262) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter 
.java:99) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:10 
7) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormConte 
ntFilter.java:89) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:10 
7) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFi 
lter.java:77) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:10 
7) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncoding 
Filter.java:197) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:10 
7) [spring-web-4.3.3.RELEASE.jar:4.3.3.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j 
ava:192) [tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
[tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomc 
at-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [tomc 
at-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [t 
omcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-emb 
ed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embe 
d-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat- 
embed-core-8.5.5.jar:8.5.5] 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [tomcat-embed 
-core-8.5.5.jar:8.5.5] 
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) [tomcat-embed- 
core-8.5.5.jar:8.5.5] 
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat- 
embed-core-8.5.5.jar:8.5.5] 
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) [ 
tomcat-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) [tomc 
at-embed-core-8.5.5.jar:8.5.5] 
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-e 
mbed-core-8.5.5.jar:8.5.5] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0 
_121] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0 
_121] 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomca 
t-embed-core-8.5.5.jar:8.5.5] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] 
+0

您能否提供更具體的堆棧跟蹤來檢查錯誤?問候, – jcgarcia

+0

我已經把更多stacktrace裏面,但我不能把它包含到muche字符的整個stacktrace。 – ardnaxela

+0

我現在有一個問題。當我無法將語言更改爲德語時,javax.validation.constraints.NotNull.message以英語顯示,我無法在message.properties中覆蓋。 – ardnaxela

回答

0

這似乎是您已經在袋鼠產生的Thymeleaf佈局發現一個問題時的語言不是英語或西班牙語,以及作爲moment.js庫的webjar。

爲了解決這個問題,你必須編輯在你的項目所產生的佈局文件夾的src /主/資源/模板/佈局中,找到下面一行:

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/locale/es.js" data-th-src="@{/webjars/momentjs//locale/}+ ${#locale.language}+'.js'" data-th-if="${#locale.language} != 'en' and ${#locale.language} != 'es'"> 
    </script> 

它似乎時刻。 js webjar包含所有語言環境相關文件的兩個副本,並且webjars解析器找到它們並且不知道使用哪一個。要解決它,必須使用帶有webjar版本的路徑。此外,網址格式不正確。用這個替換以前的片段:

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/locale/es.js" data-th-src="@{/webjars/momentjs/2.13.0/locale}+ '/' + ${#locale.language}+'.js'" data-th-if="${#locale.language} != 'en' and ${#locale.language} != 'es'"> 
    </script> 
+0

你好,謝謝你,我會測試它 – ardnaxela

+0

好的解決方案適合我。 – ardnaxela

相關問題