【问题标题】:sbteclipse not adding generated source folders to java build path?sbteclipse 没有将生成的源文件夹添加到 java 构建路径?
【发布时间】:2015-01-29 12:53:41
【问题描述】:

我在 Scala 项目上运行 sbt eclipse,当我将它导入 Scala IDE(4.0.0 RC2) 时,它给了我一个未找到类型的错误,因为所引用的类型实际上是自动生成的代码,位于目标/ scala-2_10/src_managed/main/compiled_avro/org/... 我能够在控制台上进行 sbt 编译。

我通过将上述文件夹添加到 Java 构建路径来编译它。

我的问题是,由于 sbt eclipse 已经可以检测到当前项目所依赖的 Java 项目,并且由于 sbt compile 在控制台上工作,sbt eclipse 是否也应该能够找出对生成代码的源文件夹的依赖关系?或者也许存在这样的功能而我只是不知道?

【问题讨论】:

    标签: eclipse sbt sbteclipse


    【解决方案1】:

    这可能不是正确的做事方式,但为了解决问题,我做了以下操作。

    1. sbt avro:编译
    2. sbt 编译
    3. sbt 日食
    4. 在 Eclipse 中,我右键单击 target/scala-*/src_managed/main/compiled_avro > 构建路径 > 用作源文件夹

    【讨论】:

      【解决方案2】:

      The sbteclipse way:

      1. 编辑您的项目或全局 build.sbt 文件。我的全局 ~/.sbt/0.13/build.sbt 包含:

        import com.typesafe.sbteclipse.plugin.EclipsePlugin._
        
        EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Managed
        

        我使用的是 _sbteclipse 的旧版本,2.5.0 版(各种不相关的原因),这似乎需要在每一行真实内容之间导入和一个空白链接(这让我有点抓狂, 是的)。我不相信 sbteclipse 的较新版本需要 import

      2. sbt clean avro:compile 编译

      3. sbt 日食

      【讨论】:

      • sbteclipse 4.0开始,以上键值已弃用,使用EclipseCreateSrc.Default(= (ManagedSrc, ManagedResources)), EclipseCreateSrc.ManagedSrc, EclipseCreateSrc.ManagedResources, EclipseCreateSrc.ManagedClasses
      猜你喜欢
      • 1970-01-01
      • 2015-04-05
      • 2012-08-05
      • 2012-11-12
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      相关资源
      最近更新 更多