在Maven编译期间如何忽略Java Source目录?
我正在尝试使用Lombok Maven插件来确保在使用Lombok时正确创建Javadocs 。
在编译之前,Lombok Maven引入了一个新的代码生成目标。在我的配置中,我的sourceDirectory
(带有Lombok批注的Java
src/main/java
)被处理以在中创建Java(没有Lombok批注)target/generated-sources/delombok
。
但是,其中的每个文件sourceDirectory
现在在中都有一个对应的文件(名称相同)target/generated-
sources/delombok,由于类重复,导致编译失败。
请注意,默认的Lombok
Maven配置将使开发人员将Java(带有Lombok批注)放置在src/main/lombok
文件夹中,而不是src/main/java
。但是,我不希望这样做,因为它会使IDE混乱并且我的代码可以正常编译(如果我删除了Maven插件)。
还要注意,简单地重新定义sourceDirectory
也会使IDE烦恼(它们不再知道在哪里找到Java源代码!)。
回答:
我最近从使用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>
这似乎已经解决了这个问题
奖金,如何使用此设置生成适当的javadocs
<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>
以上是 在Maven编译期间如何忽略Java Source目录? 的全部内容, 来源链接: utcz.com/qa/414434.html