Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在Maven中编译一个包含java和Scala混合代码的Scala项目吗?_Java_Eclipse_Scala_Maven_Dependency Management - Fatal编程技术网

我可以在Maven中编译一个包含java和Scala混合代码的Scala项目吗?

我可以在Maven中编译一个包含java和Scala混合代码的Scala项目吗?,java,eclipse,scala,maven,dependency-management,Java,Eclipse,Scala,Maven,Dependency Management,我有一个包含scala和java代码的项目,我目前正在eclipse中使用scala IDE插件管理该项目。目前,目录结构的组织方式使得一些包中同时包含java和scala代码。有scala类依赖于java类,还有其他java类依赖于scala类。插件可以透明地处理所有这些问题——我相信(但我不是100%确定)scala编译器可以同时编译java和scala代码,这就是处理交叉依赖关系的方式。我确实找到了一些关于使用Maven编译混合项目的参考资料,但我看到的是关于将java和scala分离为两

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

通常的Maven目录结构是

src/
  main/
    java/
      com/foo/mypackage/
    scala/
      com/foo/mypackage/
如果以这种方式进行设置,那么肯定可以在Java和Scala代码之间建立交叉依赖关系。请参阅有关该主题的或页


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

我最初尝试过这个方法,但我的pom中一定有错误。我从第一个链接中的pom的逐字副本开始,它成功了。它似乎适用于分离或混合源树。为什么不建议将scala和java合并到同一个目录中?因为这不是插件想要的工作方式。如果你能让它工作那很酷-让我们知道。但是我的建议总是顺其自然……为什么把java和scala代码放在同一个目录中不是一个好主意呢?我也想知道为什么不是。如果您能回答这个问题,我将不胜感激。