Как использовать проект / Build.scala генерировать Java-проект?

1

Я использую 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?

Теги:
build
sbt
playframework-2.2

1 ответ

2
Лучший ответ

Вы должны изменить

.settings(play.Project.playJavaSettings)

в

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

Метод settings объявляется как def settings(ss: Setting[_]*), что означает, что он принимает повторяющиеся параметры типа Setting[_]. Параметры play.Project.playJavaSettings имеют тип Seq[Setting[_]]. Для преобразования одного в другое Scala имеет специальную аннотацию типа.

Если вас интересует подробная информация 4.6.2 Повторяющиеся параметры спецификации языка Scala

Ещё вопросы

Сообщество Overcoder
Наверх
Меню