【问题标题】:Correct way to deploy play framework app to prod systems将播放框架应用程序部署到产品系统的正确方法
【发布时间】:2012-03-20 14:39:10
【问题描述】:

我在 application.conf 文件中使用以下设置编译了我的应用程序

# Application mode
# ~~~~~
# Set to dev to enable instant reloading and other development help.
# Otherwise set to prod.
application.mode=prod
%prod.application.mode=prod

然后我使用 cmd

play war myapp -o myapp --zip

然后部署到生产环境。

当我查看 tomcat/webapps/myapp/web-inf 目录时 我可以看到来自 Netbeans 的 java 类和设置文件(使用 Netbeans 作为我的 IDE)

在从 Prod 系统部署编译和创建 WAR 文件时我应该使用哪些详细信息?

【问题讨论】:

  • 您必须使用 WAR 文件,还是可以将其部署为标准 Play 应用程序...
  • @Codemwnci:如何在 Tomcat 上部署为标准游戏应用程序?
  • 你不会在tomcat上。标准的 Play 应用部署在内置的 Netty 服务器上。

标签: playframework


【解决方案1】:

另一个选项是使用--exclude 标志,它不会打包您提到的文件夹。

你可以这样做:

play clean && play war --%prod --exclude folders:separated:by:colon -o myWar --zip

【讨论】:

    【解决方案2】:

    首先,据我所知,“玩战争”会预编译您的所有代码,因为当 Play 部署在 servlet 容器中时,它无法即时编译。所以它应该是生成的 .war 中包含的 .class 文件。

    其次,我建议您在磁盘上的两个不同位置签出您的项目。一种用于使用 Netbeans(或任何其他 IDE)进行开发,另一种用于构建可部署项。当您准备好发布另一个版本时,请确保您已提交(如果使用 DSCM,例如 GIT 或 HG,则“推送”)。从包含项目“构建”版本的文件夹中,从 SCM 中提取所有更改并从命令行构建它。永远不要在您的 IDE 中打开构建版本,因为它会将各种文件添加到您的构建文件夹中。

    最后提示:确保您的 SCM 忽略所有特定于 IDE 的文件。对于 GIT,将要忽略的文件名模式添加到项目根文件夹中的 .gitignore 文件中(HG:.hgignore,svn:使用 svn:ignore 属性)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      相关资源
      最近更新 更多