在Maven构建中使用Eclipse Java Compiler(ecj)
Eclipse使用它自己的编译器(ECJ)来编译Java代码。调试使用Eclipse编译的程序更加容易,因为可以立即应用简单的代码更改(通过热代码替换)。
另一方面,Maven使用(默认情况下)oracle JDK,它会生成不同的字节码,从而防止在Eclipse调试会话中进行热代码替换。
因此,如果我打算调试程序,我想在我的maven构建中使用Eclipse ECJ编译器。对我来说,便捷的方式是使用“ ecj”配置文件:
编译发布
$ mvn package
编译快照并启用热代码替换
$ mvn -P ecj package
此外,可以在settings.xml
甚至Eclipse项目属性中指定概要文件激活。
我的问题是:
- 这是正确的方法吗?
- 如何配置?
- 可以使用Maven工具链吗?
回答:
可以更改javac
.NET使用的默认编译器maven-compiler-
plugin。Eclipse编译器捆绑在工件中,plexus-compiler-
eclipse并通过设置eclipse
为的compilerId
属性来声明它maven-compiler-plugin
。
如果要为自定义配置文件激活此更改,则可以具有以下配置:
<profile> <id>ecj</id>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
该插件在plexus-compiler
GitHub存储库中维护。版本2.8.1 使用JDT的3.11.1.v20150902-1521,尽管您可以通过org.eclipse.tycho:org.eclipse.jdt.core
在Plexus编译器依赖项之后添加依赖项来使用自己的版本。
以上是 在Maven构建中使用Eclipse Java Compiler(ecj) 的全部内容, 来源链接: utcz.com/qa/429394.html