加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 为SBT依赖项设置javac选项

发布时间:2020-12-16 18:20:24 所属栏目:安全 来源:网络整理
导读:我在编译通过GIT加载的 Java依赖项时遇到问题: object ApplicationBuild extends Build { lazy val project = Project("root",file(".")).dependsOn(RootProject(riakJavaClient)) lazy val riakJavaClient = uri("git://github.com/basho/riak-java-client
我在编译通过GIT加载的 Java依赖项时遇到问题:

object ApplicationBuild extends Build {
  lazy val project = Project("root",file(".")).dependsOn(RootProject(riakJavaClient))

  lazy val riakJavaClient = uri("git://github.com/basho/riak-java-client")
}

我从sbt compile收到的错误是:

[info] Compiling 134 Java sources to /Users/lawrencewagerfield/.sbt/0.13/staging/da0e66c4764a467c8977/riak-java-client/target/scala-2.10/classes...
[error] /Users/lawrencewagerfield/.sbt/0.13/staging/da0e66c4764a467c8977/riak-java-client/src/main/java/com/basho/riak/client/cap/Quorum.java:22: error: unmappable character for encoding ASCII
[error]  * Riak 0.12 introduced ???symbolic??? consistency options for R and W

SBT似乎正在执行javac,其编码与此依赖项中的源文件不兼容.

我尝试将以下内容添加到build.sbt,但它没有效果(错误是相同的):

javacOptions ++= Seq("-encoding","UTF-16") // Note: I have tried with UTF-8 too

上述内容仅适用于我项目中的源文件吗?知道如何通过这个问题吗?

TL; DR如何使用正确的编码来编译Java依赖项?

解决方法

您是正确的,该设置仅适用于项目中的源文件.如果未指定范围的项目部分(这是典型的),则默认为封闭项目.要将设置应用于其他项目,请将其范围限定为该项目.例如,

javacOptions in riakJavaClient ++= Seq("-encoding","UTF-8")

您可以验证您的选项是否与last一起使用.例如,

sbt> last compile

要从git在项目上运行上述命令,请使用项目更改为它(有关详细信息,请参阅帮助项目).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读