【发布时间】:2016-08-10 07:47:22
【问题描述】:
有没有办法在 ECJ 中编译 lomboked 代码不将 lombok 设置为 javaaagent 用于 maven 进程?
下面的 sn-p 仅在我以 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 会产生常见的 no-lombok 错误,例如:__ cannot be resolved to a type
我尝试使用com.reubenpeeris.maven:lombok-eclipse-compiler:1.3
但是Compilation failure
Unrecognized option: target/generated-sources/annotations 失败了,我认为这意味着这个编译器太旧了。
我也试过添加
<fork>true</fork>
<compilerArgs>
<arg>-javaagent:lombok.jar</arg>
</compilerArgs>
但是好像没什么效果。
【问题讨论】:
标签: eclipse maven lombok maven-compiler-plugin