【问题标题】:how to use project/Build.scala generate java playproject?如何使用project/Build.scala 生成java playproject?
【发布时间】:2014-07-17 13:43:22
【问题描述】:

我使用playframework2.2:尝试构建一个播放支持项目。

在我的 Build.scala 中,我想添加 play.Project.playJavaSetting:

val main = play.Project(appName, appVersion, appDependencies)
.settings(play.Project.playJavaSettings)   //error here
.settings(
    resolvers += "webjars" at "http://webjars.github.com/m2",
    resolvers += "typesafe" at "http://repo.typesafe.com/typesafe/release" 
)

错误是:

[error] F:\git\play-example-form\project\Build.scala:19: overloaded method value
settings with alternatives:
[error]   (ss: sbt.Def.Setting[_]*)sbt.Project <and>
[error]   => Seq[sbt.Def.Setting[_]]
[error]  cannot be applied to (Seq[sbt.Setting[_]])
[error]         .settings(play.Project.playJavaSettings)
[error]          ^

如果我不添加 playJavaSetting,它会给我错误的集合应用错误,我的意思是:

    val main = play.Project(appName, appVersion, appDependencies)
//.settings(play.Project.playJavaSettings)   

错误是:

[error]   required: play.api.data.Form<StudentFormData>,scala.collection.immutab
le.Map<String,Object>,scala.collection.immutable.List<String>,scala.collection.i
mmutable.Map<String,Object>,scala.collection.immutable.Map<String,Object>
[error]   found: play.data.Form<StudentFormData>,java.util.Map<String,Boolean>,j
ava.util.List<String>,java.util.Map<String,Boolean>,java.util.Map<String,Boolean

您可以看到框架应用了 scala.collection.immutable.List 而不是 play.util.List,如果我真的想应用 java 集合如何在 Build.scala 文件中设置环境设置?

【问题讨论】:

    标签: java build sbt playframework-2.2


    【解决方案1】:

    你应该改变

    .settings(play.Project.playJavaSettings)

    .settings(play.Project.playJavaSettings: _*)

    settings 方法被声明为def settings(ss: Setting[_]*),这意味着它接受Setting[_] 类型的重复参数。 play.Project.playJavaSettings 的类型为 Seq[Setting[_]]。将一个转换为另一个 Scala 有一个特殊的类型注释。

    如果您对细节感兴趣,请查看The Scala Language Specification4.6.2 重复参数

    【讨论】:

      猜你喜欢
      • 2012-09-09
      • 2014-02-23
      • 2014-11-29
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多