Hello everybody,
I already found that I need to reference UI5 differently when I want to use cachebuster:
<script id="sap-ui-bootstrap" src="/sapui5/resources/sap-ui-cachebuster/sap-ui-core.js" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-xx-bindingSyntax="complex" data-sap-ui-libs="sap.m"></script>
From time to time you need to reset cachebuster. I remember there was a url you have to call but can't find it in the docs. What path is it that I have to call to actively reset cachebuster?
Furthermore I found in the docs that I have to user this web.xml configuration to make cachebuster work on the Java Stack:
<!-- ============================================================== --> <!-- AppCacheBuster Filter --> <!-- ============================================================== --> <filter> <display-name>AppCacheBusterFilter</display-name> <filter-name>AppCacheBusterFilter</filter-name> <filter-class>com.sap.ui5.resource.AppCacheBusterFilter</filter-class> </filter> <filter-mapping> <filter-name>AppCacheBusterFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Unfortunately my local Tomcat v8.0 does not like this and stops deploying the application with the following error:
SCHWERWIEGEND: Exception starting filter AppCacheBusterFilter java.lang.NullPointerException at com.sap.ui5.resource.AppCacheBusterFilter.buildResourceIndex(AppCacheBusterFilter.java:192) at com.sap.ui5.resource.AppCacheBusterFilter.buildResourceIndex(AppCacheBusterFilter.java:212) at com.sap.ui5.resource.AppCacheBusterFilter.init(AppCacheBusterFilter.java:82) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4640) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5247) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Do I really need this configuration? How can I get it to work locally or do I need to use separate web.xmls for dev and prod?
BR
Christian