使用我的sbt-play / scala应用程序,我在开发时一直在使用sbt run。 几乎完成了我的项目,现在我想为生产目的而设计dist。 (如果这是一个坏主意,请纠正我。)
我的问题在这里。
通过我的sbt运行,我可以通过添加
来访问非托管资源unmanagedResourceDirectories in Assets += baseDirectory.value / "works"
到我的build.sbt
然而,在sbt dist之后,相同的网址不再有效并向我发送404未找到错误。
Not Found For request 'GET /assets/RAW/abc.png'
此“works”文件夹包含将在服务期间生成的文件,该文件与通常的“公共”文件夹不同。
这是我的路线FYI。
GET /assets/*file controllers.Assets.at(path="/public", file)
GET /works/*file controllers.Assets.at(path="/works/", file)
sbt-dist是否需要build.sbt中的任何其他代码或我应该修复什么?
答案 0 :(得分:1)
unmanagedResourceDirectories
指定的unmanagedResourceDirectories in Assets += baseDirectory.value / "works"
根据{{3}} ,也将从public
投放
sbt-web的细微差别在于所有资产都是从公众那里获得的 文件夹...请注意,那里的文件将聚合到目标公用文件夹
这意味着您需要从
更改GET /works
路线
GET /works/*file controllers.Assets.at(path="/works/", file)
到
GET /works/*file controllers.Assets.at(path="/public", file)
现在可以在
处访问其他资产http://example.com/assets/RAW/abc.png
http://example.com/works/RAW/abc.png
您可以通过public
解压缩生成的包,然后在{{{{}}下列出sbt dist
的内容,确认其他资产在.../target/universal
之后的jar
下结束1}}以lib
结尾的目录,例如:
-assets.jar
答案 1 :(得分:1)
好的,这就是我如何解决我的问题。
经过数小时(可能是数天)的研究,我通过在控制器中添加新功能>>> from tkinter import *
>>> root = Tk()
>>> button = Button(root, text='BUTTON')
>>> button.pack()
我还必须设置路线。就我而言, GET / download /:id /:name controllers.DownloadTask.download(id:String,name:String)
在客户端添加此url / routes信息后,它运行良好。