2015-10-20 74 views
1

按照Play上的教程,我設法在重新創建並移植代碼後構建項目。爲什麼Play Framework戰爭包含重複的類文件?

所以我現在正在做的是運行以下命令來嘗試創建戰爭。

  • 列表項
  • 起到清潔C:\ myproject的
  • 發揮依賴C:\ myproject的
  • 發揮預編譯C:\ myproject的
  • 劇戰C:\ MyProject的-oc:\ myproject_war \ myproject.war

我看到的.class文件在2個位置,這是沒有意義的我。另外,爲什麼還打包了.java文件? 其中被存儲在類文件的位置是

  • myproject.war \ WEB-INF \應用\蝕\類\控制器...
  • myproject.war \ WEB-INF \應用\預編譯\ java \ controllers ...

此外,我確實更改了application.conf文件以設置application.mode = prod,因爲它已設置爲dev。

這是如何假設我們有重複的類文件以及在戰爭中部署的源代碼,以及如果是的話系統實際正在使用哪些類文件?根據我從另一個論壇上獲得的信息在Tomcat 7

+0

更新:此命令將幫助不部署大多數Java源代碼文件。 C:\ local \ Projects \ JHS \ war> play war C:\ local \ Projects \ JHS --exclude app \ controllers:app \ models:app \ utils:app \ jobs:app \ helpers:app \ notifiers - o jhs.war – Elijah

+0

有用的信息更新:在DEV模式下,Play在收到第一個傳入的HTTP請求時編譯您的Java源代碼。然後它會監視磁盤上的源文件,並且如果發生更改,將嘗試重新編譯並重新啓動應用程序生命週期。 在PROD模式下,Play將所有源文件立即編譯爲.class文件,並使用它們。 您也可以「預編譯」您的應用程序,然後在啓動時傳入「-Dprecompiled = true」作爲JVM參數,讓它知道.class文件已經存在。 – Elijah

回答