1

我一直在尝试为我公司的 Java/Scala 项目切换到 IntelliJ 和 Gradle。从命令行来看,Gradle 非常棒,但是在将 Gradle 与 IntelliJ 以及具有 Scala 方面的项目一起使用时,我遇到了问题。

我已经尝试以两种方式导入项目,唯一能让 Scala 方面工作的方法是运行:

gradle idea

使用 Gradle IDEA 插件。在那之后,我需要做的就是打开项目的ipr文件,项目工作正常。

但是,我想在 IntelliJ 中为各种事情运行一些 Gradle 任务(代码生成是最大的任务)。我希望能够使用 JetGradle 来运行这些任务。问题是当我将 Gradle 项目链接到 JetGradle 时,每个项目中的依赖关系都会破坏 Scala 方面的编译器设置。

这是一个多模块项目。这是父级的build.gradle

allprojects {
    apply plugin: 'idea'

    version = '1.0'
    group = 'company-x'

    repositories {
        mavenCentral()
    }
}

这是 scala 模块的build.gradle

apply plugin: 'scala'

dependencies {
  compile 'org.scala-lang:scala-library:2.10.1',
          'org.scala-lang:scala-reflect:2.10.1',
          'org.scala-lang:scala-compiler:2.10.1',
          'org.slf4j:slf4j-log4j12:1.7.2',
          'com.typesafe.akka:akka-actor_2.10:2.1.4'

  testCompile 'junit:junit:4.8.1',
              'org.scalatest:scalatest:1.2'
}

在将项目链接到 JetGradle 之前,使用名为“scala-compiler-2.10.1”的库设置 Scala 方面,其中包含 Scala 编译器、库和反射 jar 和 src。链接项目后,项目库将替换为所有 Gradle 项目依赖项。Scala方面然后给出错误:

Compiler library: no scala-library*.jar found

当我再次查看这些库时,仍然有一个名为“scala-compiler-2.10.1”的库,但它只是编译器。图书馆和反射罐子现在被分开了。

有没有人想出如何让 Scala 方面和 JetGradle 相互配合?

4

1 回答 1

1

从这个 IntelliJ 博客(IntelliJ IDEA 12.1 中的更好的 Gradle 支持)看来 JetGradle 还没有准备好支持 Scala。我正在等待 IntelliJ 13.x 并暂时坚持使用 Maven。

于 2013-06-13T06:30:15.933 回答