【问题标题】:Include Scala and Java Nature in Play2 Eclipse Project with javaCore使用 javaCore 在 Play2 Eclipse 项目中包含 Scala 和 Java 自然
【发布时间】:2013-02-16 02:54:14
【问题描述】:

我有一个要为 Eclipse 配置的 sbt play2 项目,以自动包含 Scala 特性和 Java 特性(在生成的 .project 文件中)。我可以通过手动添加性质在 eclipse 中执行此操作,但我希望 eclipse 插件自动为我执行此操作。

插件的默认行为是添加两种性质除非你在你的appDependencies中包含javaCore,我需要这样做。当你包含 javaCore 时,mainLang 会自动设置为 JAVA,而 Scala Nature 会被排除在配置中。

请参阅:https://github.com/playframework/Play20/wiki/Migration 在“构建文件的更改”下

有没有办法覆盖 mainLang 并将其设置为 Scala?还是有另一种方法可以将 Scala Nature 与 Java Nature 一起包含在内?

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "SampleApp"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    javaCore, javaJdbc, javaEbean
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Want to set mainLang = SCALA here, but don't know how
  )
}

我对所有东西都使用 sbt,所以播放命令是不受限制的(以避免额外的系统依赖)

编辑:我正在使用 play-sbt 2.1.0、Scala 2.10.1-RC1 和 sbt 0.12.2

【问题讨论】:

    标签: eclipse scala sbt playframework-2.1


    【解决方案1】:

    通过查看 Play sbt-eclipse 源代码(herehere),我设法使用以下 Build.scala 文件使其工作:

    import sbt._
    import Keys._
    import play.Project._
    
    object ApplicationBuild extends Build {
    
      val appName         = "SampleApp"
      val appVersion      = "1.0-SNAPSHOT"
    
      val appDependencies = Seq(
        javaCore, javaJdbc, javaEbean
      )
    
      import com.typesafe.sbteclipse.core._
      import com.typesafe.sbteclipse.core.EclipsePlugin._
      import scala.xml.transform.RewriteRule
    
      val main = play.Project(appName, appVersion, appDependencies).settings(
        EclipseKeys.projectFlavor := EclipseProjectFlavor.Scala,
        EclipseKeys.projectTransformerFactories := Seq[EclipseTransformerFactory[RewriteRule]]()
      )
    }
    

    不要忘记 3 个导入。

    应该有更好的方法直接使用eclipseCommandSettings("SCALA"),但是我没找到。

    【讨论】:

    • 这成功了!谢谢你的时间!我试图查看源代码,但无法破解代码,我很高兴你能:)
    猜你喜欢
    • 2013-09-01
    • 2013-07-01
    • 2011-05-25
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    相关资源
    最近更新 更多