玩!框架2.2.2 diy构建在openshift上失败

时间:2014-03-22 05:54:12

标签: java openshift playframework-2.2

我已经下载了播放2.2.2 zip文件。

并为开始/停止添加了action_hooks。

但由于以下信息,构建失败:

  play-2.2.2/framework/build: line 23: 320514 Killed
  "$JAVA" ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M
   -XX:ReservedCodeCacheSize=192m
   -XX:+CMSClassUnloadingEnabled
   -XX:MaxPermSize=512M ${JAVA_OPTS} 
   -Dfile.encoding=UTF-8 
   -Dplay.version="${PLAY_VERSION}" 
   -Dplay.home=`dirname $0` 
   -Dsbt.boot.properties=`dirname $0`/sbt/sbt.boot.properties
   -Dsbt.scala.version=${SBT_SCALA_VERSION} 
   ${PLAY_OPTS} -jar `dirname $0`/sbt/sbt-launch.jar "$@"
 remote: -------------------------
 remote: Git Post-Receive Result: failure
 remote: Activation status: failure

我怎样才能让它发挥作用? 谢谢!

1 个答案:

答案 0 :(得分:1)

这有点晚了,但您必须将-Xmx1536M设置为当前档位支持的极限(例如标准小齿轮尺寸的512M)。

要完成此操作,您可以更改文件play-2.2.2/framework/build以适应此设置。

否则,监督openshift进程会非常不合理地终止你的构建过程,因为它消耗了很多的内存。

<强>更新

我今天遇到了同样的问题,并且遇到了解决这个问题的需要,所以我进一步研究了可能的解决方案:

  1. play命令将_JAVA_OPTIONS附加到它运行的每个命令上。所以设置环境变量_JAVA_OPTIONS =&gt; -Xmx = 512M消除了较小齿轮的构建失败,无需修改任何内容

  2. 设置PLAY_OPTS并为每个命令附加一个字符串,这样我就可以使用适当的openshift.conf文件混合和匹配不同的环境变量。

  3. 总结一下并修改我的初步答案:

    1. 设置环境变量_JAVA_OPTIONS以包含适当的内存限制Java标记,如-Xmx=512M,其中512M应匹配小的齿轮尺寸

    2. 自定义任何进一步播放!使用其他环境变量PLAY_OPTS

    3. 的行为

      Play应该可以正常使用! 2.2.2-我不知道它是否适用于即将到来的2.3。但这是另一个故事,因为必须重写播放盒才能与sbt一起使用。