Playframework 资产控制器编译错误[值资产不是对象控制器的成员。资产]播放2.3.8

Playframework 资产控制器编译错误[值资产不是对象控制器的成员。资产]播放2.3.8,playframework,compilation,migration,assets,typesafe-activator,Playframework,Compilation,Migration,Assets,Typesafe Activator,将play framework项目从2.2.4迁移到2.3.8后,我遇到了一个问题: 这是运行“activator compile”命令的错误输出: 我编写了我自己的资产控制器,它是因为一个子项目而创建的。此项目不再包括在内,因此controller.Assets仍然包括在内 路由路径是标准路径: GET /assets/*file controllers.Assets.at(path="public", file) 2.3.8和Play 2.2.4的激活器是否会以不同的方式编译

将play framework项目从2.2.4迁移到2.3.8后,我遇到了一个问题:

这是运行“activator compile”命令的错误输出:

我编写了我自己的资产控制器,它是因为一个子项目而创建的。此项目不再包括在内,因此controller.Assets仍然包括在内

路由路径是标准路径:

GET  /assets/*file       controllers.Assets.at(path="public", file)
2.3.8和Play 2.2.4的激活器是否会以不同的方式编译内容/以不同的方式清理项目?我试图自动关闭eclipse的构建,但仍然没有区别:(


有人知道这个问题会造成什么吗?我很高兴听到任何提示:D

我想这就是你在路上定义的路径。试试看

GET     /assets/*file               controllers.Assets.at(path="/public", file)
使用
path=“/public”


如果上述力不能解决您的问题,请检查。

似乎是激活器(播放2.3.8)正在使用不同的库依赖源repo%USER\u HOME%/.ivy2或类似的东西,因此在2.2.4下创建的项目没有得到更新。这很糟糕。即使不是通过命令activator clean activator reload等…有人知道为什么吗?我希望“activator eclipse”将完成此工作,但当编译器发现错误时,它将停止。我在另一个文件中删除了对象资产扩展控制器。AssetBuilder解决了此问题。

使我的方法保持静态,例如

 public static Result index() {
        return ok(index.render("Now I work."));
}

首先运行
activator clean
,然后运行
activator Run
应该可以工作。如果它不工作,可能是因为
activator clean
没有以某种方式清理过时的生成路由(这应该是activator的一个bug)。只需手动删除生成的路由,它就可以工作

rm目标/scala-2.11/routes/main/router/*


路径可能因您使用的游戏版本而异。

对不起,我在写问题时忘记了
路径=
(我更正了),但它包含在原始路由文件中。关于链接:我的问题不是资产已定义为对象资产,但值资产不是对象控制器的成员。Assets@Knut游戏仍在读取旧资源而不是资源您是否删除了路由中的旧路径并进行了清理我进行了..我进行了清理,我在每个组合中进行了清理n使用命令:compile、eclipse、reload、update、我重写了路由文件、我重写了资产控制器、我尝试了build.sbt中的几乎所有组合(不同的scala版本)和plugins.sbt。现在我正准备重写这个项目。我也找不到JavaScriptLiteral.com文件。你是否删除了
play2.2
并设置了新的
play2.3
路径。你是否可以发布你的
build.sbt
你解决了这个问题吗?我对一个包含子项目(play2.3.8)的项目也有同样的问题。我还按照文档中的说明为所有子项目创建了Assets对象。我的错误是,我还为根项目创建了Assets对象。这导致了与您描述的相同的错误。我删除了它,所有内容都已编译。
 public static Result index() {
        return ok(index.render("Now I work."));
}