有没有一种方法可以在ECJ中编译Lombok代码,而不需要为Maven进程设置Lombok作为Java Agent?
如果我不使用Lombok作为代理运行mvn,下面的片段将无法工作。
但是它似乎没有任何效果。
如果我不使用Lombok作为代理运行mvn,下面的片段将无法工作。
<profile>
<id>ecj</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.8-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
MAVEN_OPTS=-javaagent:lombok.jar mvn -P ecj
的执行结果是编译成功。
然而,仅运行 mvn -P ecj
会出现通常的无 lombok 错误,如:__ 无法解析为一种类型
。
我尝试使用 com.reubenpeeris.maven:lombok-eclipse-compiler:1.3
,但它失败了,并显示 编译失败
未识别选项:target/generated-sources/annotations
,我想这意味着该编译器太旧了。
我还尝试添加
<fork>true</fork>
<compilerArgs>
<arg>-javaagent:lombok.jar</arg>
</compilerArgs>
但是它似乎没有任何效果。
maven-compiler-javac
可执行文件应该是上述 bash 脚本之一吗? - Jakub Bochenski