2015-10-20 71 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

回答