2015-10-07 32 views
1

這裏是簡短版本是否有可能讓遊戲獲取依賴關係中的更改?

應該發揮它的依賴關係中的變化嗎? 當我在DEV模式下更改/lib目錄中的jar文件時,播放重新編譯,但不應用更改。

這裏更詳細

我目前正在建立基於我們當前的應用程序中的新戲應用程序。 我們已經有了一個模塊的現有項目結構,我已經在/lib目錄中。 到目前爲止工作正常

現在的問題是關係到DEV模式下的工作流程:

當我修改這些模塊中的一個(替換它在/lib目錄罐子),播放重新編譯([Info] Compiling ...),但變化不應用。

我也嘗試添加一個罐子作爲一個管理依賴項(libraryDependencies += "group" % "module" % "1.0" from "file:///path/to/jar"),但它的行爲相同。

是否應該播放/取出jar文件中的更改?

注:

  • 只需重新啓動整個應用程序是不實際的,因爲我們的東西(非戲劇)的初始化需要一些時間...
  • 目前,我們正在使用JRebel的。我無法弄清楚如何設置這個(坦率地說,玩的重裝能力和jrebel對我來說太多了;-))
+0

我得出的結論是我的方法有缺陷: 重新加載相關的jar很可能會丟失任何靜態字段上的所有狀態(想到Singletons,數據庫連接池,不管 - 你不知道)。所以這不是走的路... 所以我試圖去JRebel路線,並認爲我找到了一種方法。 如果任何人有興趣,我已經在這裏提出了一個回購:https://github.com/schoenberger/play-framework-java-jrebel – Christian

回答

0

編譯應該選擇新的jar文件。

如果失敗,您可以嘗試在sbt/play控制檯中運行cleantest:compile

編輯:

你可以啓動另一個終端上的SBT /播放和運行~test:compile

這會監視並重新編譯你的應用程序,一旦它發現新的變化。

+0

是的,如果我重新啓動應用程序,一切正常(並且變化被拿起) 。 我的問題是我想使用DEV模式的重新加載功能。 我還沒有看到玩到這裏的變化,到目前爲止... – Christian

+0

啊哈。見上面的編輯。 –

相關問題