gpt4 book ai didi

macos - OSX Play Framework 自动重新加载

转载 作者:行者123 更新时间:2023-12-02 01:37:08 24 4
gpt4 key购买 nike

我已经在互联网上搜索了几个小时,有很多“有用”的建议……除了问题之外什么也没有。

这就是我,几乎完全一样:

Play framework auto-loading in docker container

我正在运行最新的(我想,不知道如何检查但下载<一周前)版本的 Play!带有 Java 8 的 ubuntu docker 容器内的框架,使用以下 dockerfile 构建:

FROM ubuntu:latest
MAINTAINER [REDACTED]
RUN sudo apt-get update
RUN sudo apt-get -y install software-properties-common
RUN sudo apt-add-repository ppa:webupd8team/java
RUN sudo apt-get update
RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
RUN sudo apt-get -y install oracle-java8-installer
RUN java -version

Multiple sources整个互联网显示相同或相似的问题,或多或少到达相同的conclusion .我正在按如下方式启动我的游戏应用程序:

我不打算重复上面链接的内容,这基本上是相同的情况。 (检测到文件更改,它显示编译,但网页未反射(reflect)更改。)此外,我通过反编译生成的 .class 文件来验证编译是否正确,它显示正确的代码。

现在,当我说出魔法词时:将以下行添加到我的 build.sbt 文件中

PlayKeys.playWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)

我得到了一个整体的 build.sbt:

name := """cms-work"""

version := "1.0-SNAPSHOT"

retrieveManaged := true

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

scalaVersion := "2.11.6"

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

// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator

// Polling for auto-reload, because networked filesystem.
PlayKeys.playWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)

在我的项目目录中运行 ./activator 会导致它重新评估我的构建文件并生成以下内容:

/root/cms-work/build.sbt:23: error: value playWatchService is not a member of object play.sbt.Play.autoImport.PlayKeys
PlayKeys.playWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)
^
[error] Type error in expression

很明显,一刀切的解决方案不再适用。从那以后我就被难住了。自 2.3.x 以来,我完全没有发现任何会使此命令无效的更改。相反,我看到了 things提到“在 2.3.2 之后工作”,我就是。

附言:

谁能解释链接帖子末尾描述的奇怪的 Ctrl-D 行为。我遇到了同样的情况,考虑到 Ctrl-D 应该退出这一事实,这似乎很奇怪......

最佳答案

好吧,网淘多了,终于崩溃翻了一遍Play!框架 github 找到他们的测试 built.sbt,恰好使用了 new 选项。

显然,在迁移指南的深处已经注意到了这一点。 (我花了一些时间来回顾它。)

显然,我的错误在于假设 2.4.0 包含在 2.3.2+ 中,而没有检查隐藏得很好的(在我看来)文档。对于遇到类似情况而跌跌撞撞的任何其他人,请不要再观望:

PlayKeys.fileWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)

2.4.0 开始,这是 Play 轮询的新语法。如果这导致另一个错误,请检查您正在使用的版本的迁移报告,看看他们是否再次更改了它。


只是想知道,我是否疯狂地期待某种This is Deprecated 消息被吐出而不是只是盲目谴责我所做的一切?这似乎是对 future 有益的东西。

关于macos - OSX Play Framework 自动重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com