最近项目遇到scala和java混合编译的问题,项目中同时有java调用scala和scala调用java,编译时出问题,网上找了好多教程,很多都不能同时相互调用,而且还不能使用通用的 mvn clean compile进行编译。
无意中发现了一个可以混合调用并且使用mvn clean compile编译的配置方法,只需在pom的build中添加如下内容
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>scala-compile</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
此时,不论java和scala如何复杂的调用关系,都能使用mvn clean compile正常编译。