当我编译Scala源代码时,这个pom.xml可以工作:
<build>
<sourceDirectory>${project.basedir}/src/main/scala</sourceDirectory>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.4.0</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
[...] 但不是这一种选择:
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.4.0</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<sourceDir>${project.basedir}/src/main/scala</sourceDir>
<testSourceDir>${project.basedir}/src/test/scala</testSourceDir>
</configuration>
</execution>
[...] 即使在sourceDir和testSourceDir中提到了这种用法,也是如此。
我需要第二个选择,因为我在执行之后调用了依赖于其他源文件目录的Java编译器。
我也试着给add-source目标打了个电话。但没有成功。
发布于 2020-09-30 18:55:03
您试图用错误的东西覆盖de配置,我猜${project.basedir}没有被期望值所取代。
您想要的是默认行为,因此您可以简单地删除覆盖。
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.4.0</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>更新:检查日志(输出)以查看插件扫描的哪个文件夹进行编译。
https://stackoverflow.com/questions/64113202
复制相似问题