【问题标题】:Define JAVA_OPTS in build.sbt in Play Framework 2.3.0 (Java)在 Play Framework 2.3.0 (Java) 的 build.sbt 中定义 JAVA_OPTS
【发布时间】:2014-08-21 00:47:28
【问题描述】:

我试图在 build.scala 中定义 JAVA_OPTS 以便为运行和测试任务指定调试端口和配置文件,但它不起作用。我启动activator,然后启动runtest。 这是我的 build.sbt :

name := "machinchose"

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs
)

Keys.fork in run := true

javaOptions in run ++= Seq(
    "-Xdebug",
    "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9997",
    "-Dconfig.file=conf/developpement.conf",
    "-Xms128m",
    "-Xmx1024m"
)

Keys.fork in Test := true

javaOptions in Test ++= Seq(
    "-Xdebug",
    "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9997",
    "-Dconfig.file=conf/test.conf",
    "-Xms128m",
    "-Xmx1024m"
)

我搞砸了什么?感谢您的帮助。

【问题讨论】:

    标签: java playframework sbt playframework-2.3 typesafe-activator


    【解决方案1】:

    Play 并不真正支持 fork in run;它可能只是忽略了该设置。那么你的javaOptions 将无法工作,因为没有新的 JVM。您需要做的是使用这些选项启动激活器(或 sbt)本身,或设置环境变量 JAVA_OPTSSBT_OPTSACTIVATOR_OPTS 之一。还有一个-jvm-debug 激活器来添加调试器。

    【讨论】:

    • 我试过这个(我写了一个设置 JAVA_OPT 并启动激活器的批处理文件),但是通过这种方式,使用build.sbttest 任务设置 javaOptions - 正如文档所推荐的那样- 不起作用,我是否分叉测试。而-jvm-debug 不适用于 Windows(唉,我不能使用 Linux)。
    • -jvm-debug 应该在 Windows 上工作;您可以尝试使用 activator 1.2.3(昨天发布)并在 github.com/typesafehub/activator/issues?state=open 上提交问题(如果它已损坏)吗?确实,_OPTS env vars 不会让您区分运行和测试选项......我不知道如何通过游戏来做到这一点。
    【解决方案2】:

    您可以在启动控制台时要求 Play 启动 JPDA 调试端口。然后,您可以使用 Java 调试器进行连接。使用 play debug 命令来做到这一点:

    $播放调试

    当 JPDA 端口可用时,JVM 将在引导期间记录此行:

    在地址:9999 监听传输 dt_socket

    Note: Using play debug the JPDA socket will be opened on port 9999. You can also set the JPDA_PORT environment variable yourself using set JPDA_PORT=1234.
    

    【讨论】:

    • 我用的是 Play 2.3.0,play debug 已经不存在了。
    【解决方案3】:

    启动 Activator 并进行调试

    activator -jvm-debug 9999

    【讨论】:

      猜你喜欢
      • 2014-08-01
      • 2016-05-11
      • 2014-08-04
      • 2014-08-07
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      相关资源
      最近更新 更多