好吧,我已经弄清楚了,所以我将发布我自己的答案以供其他人将来参考。
问题
Cloudbees 使用 Tomcat(不是 Jetty,这是通过 sbt 网络插件使用的container:start
)。正如Tomcat在哪里将/附加到目录路径所暗示的那样?Tomcat 会将 a 添加/
到它认为是目录的路径中。
使用类似的应用程序结构
src/main/webapp
- demos.html
- demos
- some-demo.html
还有一个电梯站点地图定义,其中包括
Menu.i("Demos") / "demos" submenus (
Menu.i("Some Demo") / "demos" / "some-demo"
)
Tomcat 看到了 url “/demos” 并看到了我的 “demos” 文件夹,并假设我的 url 是一个错误,添加了斜杠。
解决方案
通过一些重新安排来解决这个问题。首先,demos.html
进入 demos 文件夹并将其重命名为index.html
.
src/main/webapp
- demos
- index.html (formerly demos.html)
- some-demo.html
调整站点地图以反映这一变化
Menu.i("Demos") / "demos" / "index" submenus (...)
^ added an extra path step
现在我的自动生成的站点地图将直接指向/demos/
并且 Tomcat 很乐意在那个地方提供我的 demos/index.html 文件。