簡體   English   中英

子項目路由Play 2.4

[英]subprojects routing Play 2.4

我正在嘗試遷移使用SBTSubProjects的play 2.3(java)項目來播放2.4,現在我遇到了一些路由問題。

顯示我的問題的樣本項目

該項目使用三個子項目(管理員,網站和公共項目):

build.sbt:
lazy val root = (project in file(".")).enablePlugins(PlayJava).dependsOn(admin, website).aggregate(website, admin)
lazy val common = (project in file("modules/common")).enablePlugins(PlayJava)
lazy val admin = (project in file("modules/admin")).enablePlugins(PlayJava).dependsOn(common)
lazy val website = (project in file("modules/website")).enablePlugins(PlayJava).dependsOn(common)
routesGenerator := InjectedRoutesGenerator

conf/routes:
-> /admin admin.Routes
-> /website website.Routes

在2.3中,可以使用“ root”項目以“ activator run”啟動應用程序,然后通過調用/ admin或/ website使用相應的subprojects-routes。 在2.4上做同樣的事情,我只會得到錯誤的資產路徑的管理路由。 當使用“項目”將活動項目切換為管理員或網站時,項目路由將按預期工作。

我如何獲得與以前相同的行為? 謝謝

從2.3升級到2.4時,我遇到了完全相同的問題,並已解決。 關鍵是為根項目設置默認的application.conf

在根項目的build.sbt中,添加以下行以確保其始終使用根配置

Keys.javaOptions+="-Dconfig.file=conf/application.conf"

這也可能是造成您問題的原因,因為如果沒有設置,Play可能會選擇任何application.conf,如果它從子項目中選擇一個,則在您的情況下,該項目似乎是管理項目,並且只有管​​理員路線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM