与此插件的名称相反,Compiler Plugin 不会自行编译项目的源代码。为了编译,编译器插件使用另一个类来编译它们。参数compilerId确定将使用哪个类。目前,Compiler Plugin 与带有 artifactId plexus-compiler-javac的javac编译器工件捆绑在一起,可以看作是 Compiler Plugin 的 POM 中声明的依赖项之一。
Plexus 编译器组件在 groupId org.codehaus.plexus下还有一些其他可用的编译器 ID :
要使用任何非 javac 编译器,您需要在 Compiler Plugin 运行时使工件在类路径中可用。这可以通过在项目的pom.xml中声明插件时添加依赖项来实现。下面的例子展示了如何使用csharp编译器:
<project> [...] <build> [...] <plugins> [...] <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <compilerId>csharp</compilerId> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-csharp</artifactId> <version>1.6</version> </dependency> </dependencies> </plugin> [...] </project>