微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Maven-compiler-plugin从编译中排除src / main / java

如何解决使用Maven-compiler-plugin从编译中排除src / main / java

是否有人知道如何从maven-compiler-plugin中删除Source根目录?

[DEBUG] Source roots:
[DEBUG]  C:\Workspace\Dev01\Internet_Login\src\main\java
[DEBUG]  C:\Workspace\Dev01\Internet_Login\target\generated-sources\delombok

因为我从 C:\ Workspace \ Dev01 \ Internet_Login \ src \ main \ java 用lombok-maven-plugin生成了源,但是maven-compiler-plugin同时使用了Source根目录,我得到了编译错误

编译后,我使用Aspectj,所以我需要这样做,因为Lombok和Aspectj是“不兼容的”。

有人解决吗?

编辑:

我有一个解决方案。只需在build中定义sourceDirectory,编译器就会使用该目录。

<build>
    <sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
    ...
</build>

Thx

解决方法

您尝试过排除吗?

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
   <configuration>
        <excludes>
            <exclude>src/main/java/</exclude>
        </excludes>                  
    </configuration>
</plugin>
,

如Chrylis所建议,使用该插件时,应将带有Lombok注释的所有类放入src/main/lombok中。明确记录在其usage page中。

还有一个sample project,您可以看到如何在src/main/java中放置不带Lombok批注的普通Java类,并在src/main/lombok中放置Lombok目标。

只需按照说明进行操作,就可以使用Maven Compiler插件了。至于AspectJ,这取决于您要如何编织方面(编译时,二进制编织,加载时间),以及方面是驻留在相同模块中还是在另一个模块中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。