gpt4 book ai didi

java - 在 Maven 构建中使用 Eclipse Java Compiler (ecj)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:28 26 4
gpt4 key购买 nike

Eclipse 使用它自己的编译器 (ECJ) 来编译 Java 代码。调试使用 Eclipse 编译的程序更容易,因为可以立即应用简单的代码更改(通过热代码替换)。

另一方面,Maven 使用(默认情况下)oracle JDK,它生成不同的字节码,防止在 Eclipse 调试 session 中进行热代码替换。

所以如果我打算调试程序,我想在我的 Maven 构建中使用 Eclipse ECJ 编译器。对我来说一种方便的方法是“ecj”配置文件:

  • 编译发布
    $ mvn package
  • 使用启用的热代码替换编译快照
    $ mvn -P ecj package

  • 还可以在 settings.xml 中指定配置文件激活甚至 Eclipse 项目属性。

    我的问题是:
  • 这是正确的方法吗?
  • 如何配置?
  • 可以使用 maven 工具链吗?
  • 最佳答案

    It is possible更改默认值 javac maven-compiler-plugin 使用的编译器. Eclipse 编译器捆绑在 Artifact plexus-compiler-eclipse 中并通过设置 eclipse 声明到 compilerId maven-compiler-plugin 的属性.

    如果您想为 custom profile 激活此更改,你可以有以下配置:

    <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 repository .版本 2.8.1 uses 3.11.1.v20150902-1521 of JDT ,尽管您可以通过添加对 org.eclipse.tycho:org.eclipse.jdt.core 的依赖来使用自己的版本在 Plexus Compiler 依赖项之后。

    关于java - 在 Maven 构建中使用 Eclipse Java Compiler (ecj),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33164976/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com