7

我有一个项目,它同时具有 scala 和 java 代码,我目前正在使用 scala IDE 插件在 eclipse 中管理它。目前,目录结构是这样组织的,一些包中同时包含 java 和 scala 代码。有依赖于 java 类的 scala 类,还有其他依赖于 scala 类的 java 类。该插件透明地处理所有这些 - 我相信(但我不是 100% 确定)scala 编译器将 java 和 scala 代码编译在一起,这就是处理交叉依赖关系的方式。我确实找到了一些使用 Maven 编译混合项目的参考,例如这里但我看到的那些谈论将 java 和 scala 分成两个单独的源代码树。Maven 尝试首先编译 scala 代码,但由于对 java 代码的依赖而失败。同样,如果首先编译 java 代码,它也会失败,因为依赖项是双向的。有没有办法让 Maven 像 eclipse 插件一样编译所有代码?如果可能的话,我还希望能够生成一个 Eclipse 项目,而无需在事后进行太多手动修复。

4

1 回答 1

5

通常的 Maven 目录结构是

src/
  main/
    java/
      com/foo/mypackage/
    scala/
      com/foo/mypackage/

如果您以这种方式进行设置,那么您肯定可以在 Java 和 Scala 代码之间建立交叉依赖关系。请参阅有关该主题的maven-scala-pluginscala-maven-plugin页面。

我不建议将 Java 和 Scala 代码放在同一个目录中。

于 2012-08-30T02:50:13.093 回答