从maven编译器插件编译中排除src/main/java

mefy6pfw  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(516)

有人知道如何从maven编译器插件中删除源代码根吗?

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

因为我使用lombok maven插件从c:\workspace\dev01\internet\u login\src\main\java生成源代码,但是maven编译器插件同时使用源代码根,所以我得到了一个编译错误。
编译之后,我使用aspectj,所以我需要这样做,因为lombok和aspectj“不兼容”。
有人有解决办法吗。
编辑:
我有办法了。只要在build中定义sourcedirectory,编译器就会使用这个目录。

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

谢谢

py49o6xq

py49o6xq1#

正如chrylis所建议的,您应该将任何带有lombok注解的类放到 src/main/lombok 使用插件时。这在其使用页面上有明确的记录。
还有一个示例项目,您可以看到没有lombok注解的普通java类是如何放置在 src/main/java Lombok山的目标是 src/main/lombok .
只要按照说明操作,就可以使用maven编译器插件了。至于aspectj,这取决于您希望如何编织方面(编译时、二进制编织、加载时)以及方面是驻留在同一个模块中还是驻留在另一个模块中。

iklwldmw

iklwldmw2#

你试过了吗?

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

相关问题