用sbt构建PlayFramework失败,带有UnmappableCharacterException

时间:2017-12-22 11:10:14

标签: sbt playframework-2.0

我正在尝试在本地构建播放框架,我正在获得以下stacktrace:

[trace] Stack trace suppressed: run last Play-JDBC-Evolutions/compile:createHeaders for the full output.
[trace] Stack trace suppressed: run last Play/compile:createHeaders for the full output.
[error] (Play-JDBC-Evolutions/compile:createHeaders) java.nio.charset.UnmappableCharacterException: Input length = 1
[error] (Play/compile:createHeaders) java.nio.charset.UnmappableCharacterException: Input length = 1
[error] Total time: 35 s, completed 22-Dec-2017 13:31:24

我试过:

  1. set logLevel:= Level.Debug
  2. 运行最后播放/编译:createHeaders
  3. 但我是sbt的新手,这些操作并没有为我提供更多的调试信息。

    错误可能与the incorrect source encoding相关联。

    我正在使用以下源文件:official github repo 我的版本:1.0.4 错误日志:gist

1 个答案:

答案 0 :(得分:0)

OUTDATED(见下文): 我只是尝试构建playframework 2.6.15并且在代码的注释中有一些时髦的字符,例如在Windows 10上崩溃编译。如果你删除每个文件中的所有注释" last Play / compile:createHeaders& #34;抱怨,你应该能够编译。我不得不从RequestHeader.scala,Render.scala,Jasonp.scala,package.scala中删除所有注释,然后我就能编译了。我还必须删除test目录才能发布本地,因为在某些测试中有特殊字符。我怀疑问题是有人需要在正确的地方放置像scalacOptions ++ = Seq(" -encoding"," UTF-8")之类的东西,但我不知道知道那是哪里。

更新:解决方案是将-Dfile.encoding = UTF8添加到SBT_OPTS环境变量。 https://github.com/playframework/playframework/issues/8449