gpt4 book ai didi

java - 如何使用project/Build.scala生成java playproject?

转载 作者:行者123 更新时间:2023-11-30 03:53:03 25 4
gpt4 key购买 nike

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

在我的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文件中设置环境设置?

最佳答案

你应该改变

.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重复参数

关于java - 如何使用project/Build.scala生成java playproject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909842/

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