我已经尝试在父POM和模块POM中,在构建部分列出插件,以便Scala编译器插件排在首位,但是Maven仍然坚持先运行Java编译器,这在一些混合源的情况下会失败。
我知道我可以通过将Scala编译绑定到process-resources而不是compile来解决这个问题,但我真的更喜欢知道如何告诉Maven排序插件(或者是否可能)。
这是我的父POM中定义这两个插件的部分内容:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
<executions>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
<execution>
<id>test-compile</id>
<goals>
<goal>testCompile</goal>
</goals>
<phase>test-compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
子模块有自己的<plugins>部分,但没有重新定义这些插件(只是exec-maven-plugin)。