如何在java中导入scala包?

如何在java中导入scala包?,java,scala,import,Java,Scala,Import,我有一个gradle项目;我在scala.com.EssencePVP.models中有一些scala类,我想将它们导入到我的java代码中,这与包名相同 结构看起来像这样: src/main/java/com/EssencePVP/ src/main/scala/com/EssencePVP/models/ 当我尝试将scala包(import com.EssencePVP.models.*)导入java时,会收到以下错误消息: EssencePVPMod/build/sources/java

我有一个gradle项目;我在scala.com.EssencePVP.models中有一些scala类,我想将它们导入到我的java代码中,这与包名相同

结构看起来像这样:

src/main/java/com/EssencePVP/

src/main/scala/com/EssencePVP/models/

当我尝试将scala包(import com.EssencePVP.models.*)导入java时,会收到以下错误消息:

EssencePVPMod/build/sources/java/com/EssencePVP/EssencePVP.java:56:错误:包com.EssencePVP.models不存在

很明显,问题在于它试图查找java目录,而不是scala目录。如何解决此问题

谢谢。

根据,它似乎只允许
src/main/scala
中的Java代码与scala代码一起编译。您可以尝试为scala插件设置
srcDirs=[“src/main/java”,“src/main/scala”]
,并相应地从java
srcDirs
中删除
src/main/java


请注意,Maven和SBT没有此限制。

请注意,导入与源文件所在的实际目录几乎没有任何关系-它们只是一种方便,因此您不必一直编写完全限定的名称(package.name.ClassName)。您的问题不在于导入,而是在编译Java文件时将scalac编译的.class文件(来自Scala源文件)添加到javac使用的类路径中。您的项目是如何构建的?例如,您是否使用SBT或Maven之类的构建系统?(忘记关于构建系统的问题-我应该读得更好。)谢谢,我也提到了这一点: