У меня есть многомодульный проект Scala, использующий Maven 3.
Я хочу убедиться, что компилятор Scala работает до компилятора Java, как на этапах компиляции, так и на тестовой компиляции.
В своем родительском POM и POM-модуле я пытался перечислить плагины в разделе сборки, чтобы плагин компилятора Scala был первым, и все же Maven по-прежнему настаивает на том, чтобы сначала выполнялась компиляция Java, что иногда не удается У меня смешанный источник.
Я знаю, что могу решить эту проблему, привязав компиляцию Scala к ресурсам процесса, а не к компиляции, но я бы действительно предпочел узнать, как я могу сказать 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>
Дочерний модуль имеет свой собственный раздел , но не переопределяет ни один из этих плагинов (только exec-maven-plugin).