在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

回到顶部