fom*_*mil 22 java maven lombok
我正在尝试使用Lombok Maven插件来确保在使用Lombok时正确创建Javadoc .
Lombok Maven在编译之前引入了一个新的代码生成目标.在我的配置中,我的sourceDirectory
(带有Lombok注释的Java src/main/java
)被处理为创建Java(没有Lombok注释)target/generated-sources/delombok
.
但是,sourceDirectory
现在每个文件都有一个相应的(同名)文件target/generated-sources/delombok
,导致由于重复的类导致编译失败.
如何告诉Java编译器忽略源代码sourceDirectory
?
请注意,默认的Lombok Maven配置会让开发人员将Java(带有Lombok注释)放在src/main/lombok
文件夹中而不是src/main/java
.但是,我不希望这样做,因为它混淆了IDE,我的代码编译得很好(如果我删除了Maven插件).
另请注意,简单地重新定义sourceDirectory
也会破坏IDE(他们不再知道在哪里可以找到Java源代码!).
The*_*eLQ 24
我最近从使用flakey maven-exec-plugin方法转换为生成javadoc工具的原始源以使用lombok-maven-plugin
我的设置
src/main/java
target/generated-sources/delombok
我最初遇到这个问题,但它似乎是一个简单的修复:不要让lombok-maven-plugin将delombok路径添加到编译器源路径addOutputDirectoy
.IE
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>0.11.2.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
<configuration>
<addOutputDirectory>false</addOutputDirectory>
<sourceDirectory>src/main/java</sourceDirectory>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这似乎解决了现在的问题
编辑:奖金,如何使用此设置生成正确的javadoc
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<defaultVersion>${project.version}</defaultVersion>
<sourcepath>target/generated-sources/delombok</sourcepath>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6160 次 |
最近记录: |