sbteclipse没有将生成的源文件夹添加到java构建路径?

时间:2014-12-01 13:42:21

标签: eclipse sbt sbteclipse

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

我通过将上面的文件夹添加到Java Build Path来进行编译。

我的问题是,由于sbt eclipse已经可以检测当前项目所依赖的Java项目,并且由于sbt compile在控制台上运行,所以sbt eclipse是否能够找出生成代码的源文件夹的依赖项?或者可能存在这样的特征,我只是不知道它?

2 个答案:

答案 0 :(得分:1)

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

  1. sbt avro:compile
  2. sbt compile
  3. sbt eclipse
  4. 在eclipse中我右击目标/ scala - * / src_managed / main / compiled_avro>构建路径>用作源文件夹

答案 1 :(得分:1)

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 compile

  3. sbt eclipse