简体   繁体   English

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

[英]how to use project/Build.scala generate java playproject?

I use playframework2.2: try to build a play support project. 我使用playframework2.2:尝试构建一个游戏支持项目。

in my Build.scala, I want to add play.Project.playJavaSetting: 在我的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" 
)

the error is: 错误是:

[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]          ^

If I do not add playJavaSetting, it give me error about wrong collection apply, I mean: 如果我不添加playJavaSetting,它会给我关于错误收集适用的错误,我的意思是:

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

and the error is: 错误是:

[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

you can see the framework apply the scala.collection.immutable.List instead of play.util.List, If I really want to apply the java collections how to set the environment setting in Build.scala file? 您可以看到框架应用了scala.collection.immutable.List而不是play.util.List,如果我真的想应用Java集合,如何在Build.scala文件中设置环境设置?

You should change 你应该改变

.settings(play.Project.playJavaSettings) .settings(play.Project.playJavaSettings)

to

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

The settings method is declared as def settings(ss: Setting[_]*) , which means it takes repeated parameters of type Setting[_] . settings方法被声明为def settings(ss: Setting[_]*) ,这意味着它需要重复使用类型为Setting[_]参数。 The play.Project.playJavaSettings is of type Seq[Setting[_]] . play.Project.playJavaSettings的类型为Seq[Setting[_]] To convert one to another Scala has a special type annotation. 将一个Scala转换为另一个具有特殊的类型注释。

If you are interested in details check 4.6.2 Repeated Parameters of The Scala Language Specification 如果您对细节感兴趣,请检查4.6.2 Scala语言规范的 重复参数

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 播放框架Java-Build.scala-找不到:值缓存 - play framework java - Build.scala - not found: value cache Play Framework 2.1:在 Build.scala 中使用 play.api.Configuration - Play Framework 2.1: Use play.api.Configuration in Build.scala Play Framework 2:读取Build.scala中定义的应用版本 - Play Framework 2: Read the application version defined in Build.scala 如何为新的java项目生成build.xml? - How to generate build.xml for a new java project? 如何为java项目生成jar文件并在android项目中使用jar - How to generate a jar file for a java project and use the jar in an android project 如何在 Java/Scala 中生成 TimeUUID - How to generate TimeUUID in Java/Scala 应该玩2 xx应用程序同时具有build.sbt和build.scala - should play 2 xx App have both build.sbt and build.scala 如何在使用 maven 的 intelliJ 项目中添加 scala 依赖项到 Java 项目 - How to add a scala dependency to a Java project in intelliJ that use maven 播放2 JPA Oracle-即使在build.scala中将ebeanEnabled设置为false时,额外的列&#39;ebean_intercept&#39; - Play 2 JPA Oracle - Extra column 'ebean_intercept' even when ebeanEnabled is set to false in build.scala 如何构建使用Java注释代码生成的混合Java / scala项目? - How do I build a mixed java/scala project which uses java annotation code generation?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM