【问题标题】:Tycho compiler plugin fail to generate lombok functionsTycho 编译器插件无法生成 lombok 函数
【发布时间】:2021-10-15 11:09:22
【问题描述】:

我们有一个 OSGI 框架,我们将在其中引入 Lombok。 在 pom.xml 我们添加了依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version>
</dependency>

但是 mvn install 编译仍然失败

org.eclipse.tycho:tycho-compiler-plugin:2.0.0:compile (default-compile) on project XXX: 编译失败:编译失败: [错误] ... [错误] ... [错误] XXX 类型的方法setXXX(String) 未定义

在 Eclipse 中,一切都可以编译并且工作正常。 lombok.jar 也被添加到 Bundle-ClassPathMANIFEST.MF 我们将annotationProcessorPaths 添加到pom.xml 没有成功

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <annotationProcessorPaths>
            <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.22</version>
            </path>
        </annotationProcessorPaths>
    </configuration>
</plugin>

编辑 即使在配置 tycho 编译器时它也不起作用

        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-compiler-plugin</artifactId>
            <version>${tycho-version}</version>
            <configuration>
                <source>${compileSource}</source>
                <target>${compileSource}</target>
                <compilerArguments>
                    <processor> lombok.launch.AnnotationProcessorHider$AnnotationProcessor
                    </processor>
                </compilerArguments>
            </configuration>
        </plugin>

当我添加set MAVEN_OPTS="-javaagent:C:\\Eclipse\\lombok.jar" 编译工作时,有没有办法在pom.xml 的编译器配置中添加这个参数,并带有lombok.jar 的通用路径

【问题讨论】:

  • 我相信第谷使用tycho-compiler-plugin而不是maven-compiler-plugin
  • 是的,以上是我们测试的内容之一。即使这样它也不起作用: org.eclipse.tychotycho-compiler-plugin${tycho-version}${compileSource}${compileSource} lombok.launch.AnnotationProcessorHider$AnnotationProcessor 插件>
  • edit您的问题以添加新信息
  • Eclipse bug 502181 似乎说无法为此配置 tycho
  • Lombok 重新连接编译器以发挥其魔力,这就是发生这些事情的原因。如果您只想要简单的 getter/setter 生成,请查看 Java 17 LTS 中的 Records,它是该语言的一部分,因此可以保证得到很好的支持,而无需 tycho-lombokizer 必须跳过的障碍。

标签: eclipse-plugin maven-3 lombok tycho


【解决方案1】:

我已成功在 Eclipse 插件中使用 Lombok,并使用 tycho 构建插件。 https://github.com/poul-m/tycho-lombokizer

【讨论】:

  • 不错!感谢您分享您的工作。请考虑将此贡献给 Eclipse Tycho 项目。
猜你喜欢
  • 2021-05-21
  • 2015-08-23
  • 2022-11-04
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 2018-01-14
相关资源
最近更新 更多