【问题标题】:Run ignores argument -Dhttp.address=****运行忽略参数 -Dhttp.address=****
【发布时间】:2015-07-03 14:29:54
【问题描述】:

我的问题是,当我以开发人员模式在我的服务器上启动我的播放框架服务器时,我无法指定服务器应侦听的 HTTP 端口。 当我尝试以下命令时,HTTP 地址总是被忽略:

./play "run -Dhttp.address=192.168.1.1 -Dhttp.port=8080"

端口已正确设置,但地址未正确设置,如此输出所示:

当我使用start 在生产模式下运行服务器时,地址设置正确并且一切正常。但是出于开发目的,我想在所有文件发生更改时重新加载和编译所有文件,这样我就可以始终使用最新的代码。 我已经尝试了很多可能性,但到目前为止无法解决问题。希望有人能给我一些如何解决这个问题的提示。提前感谢您的支持。

【问题讨论】:

    标签: playframework playframework-2.2


    【解决方案1】:

    你不会喜欢这个答案的。对于 Play 2.2,这正是 code(在 GitHub 上)的内容。

    start 使用端口和地址属性:

      val server = new NettyServer(
        new StaticApplication(applicationPath),
        Option(System.getProperty("http.port")).fold(Option(9000))(p => if (p == "disabled") Option.empty[Int] else Option(Integer.parseInt(p))),
        Option(System.getProperty("https.port")).map(Integer.parseInt(_)),
        Option(System.getProperty("http.address")).getOrElse("0.0.0.0")
      )
    

    run 仅使用端口属性:

      def mainDevHttpMode(sbtLink: SBTLink, sbtDocHandler: SBTDocHandler, httpPort: Int): NettyServer = {
        mainDev(sbtLink, sbtDocHandler, Some(httpPort), Option(System.getProperty("https.port")).map(Integer.parseInt(_)))
      }
    
      private def mainDev(sbtLink: SBTLink, sbtDocHandler: SBTDocHandler, httpPort: Option[Int], httpsPort: Option[Int]): NettyServer = {
        play.utils.Threads.withContextClassLoader(this.getClass.getClassLoader) {
          try {
            val appProvider = new ReloadableApplication(sbtLink, sbtDocHandler)
            new NettyServer(appProvider, httpPort,
              httpsPort,
              mode = Mode.Dev)
          } catch {
            case e: ExceptionInInitializerError => throw e.getCause
          }
    
        }
      }
    

    但是,您可以 a) 使用 ReloadableApplication 和您要使用的地址致电 NettyServer(尽管我从未尝试过);或 b) 使用非 Play 解决方案,修改网络设置以使用不同的接口作为默认地址。

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 2011-07-03
      相关资源
      最近更新 更多