3

我阅读了官方文档mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-compiler-plugin -Ddetail

并且没有找到暗示自动删除.class不再存在的.java文件的文件的选项。

我也没有为 Ant 找到这样的选项:

清理项目然后在类重命名或将其移动到另一个包后再次构建很烦人......

如果我不做这个 IoC 框架检测 bean 绑定的重复匹配。

UPDTE我不可能使用 maven-compiler-plugin 是否有任何插件可以检测单独的.class文件并删除它们?

我希望每次运行时都获得一致mvn package的构建并保持构建的增量性质(因此避免mvn clean)。

4

2 回答 2

4

如果您遵循 Maven 约定并且您的代码在下面src/main/javasrc/test/java那么您将分别将其编译为target/classestarget/test-classes. 话虽如此,maven-clean-plugin从您的target目录中删除所有内容。

考虑以下:

mvn clean package

这将删除所有已编译的类并重建它们。

显然,当您进行涉及移动/重命名类的重构时,您需要进行干净的编译,以确保没有任何剩余。

编译器插件并不意味着处理编译以外的任何事情。Maven 的插件被严格地分成独立的功能单元。

于 2013-03-26T12:38:40.860 回答
2

据我说,除了做 maven-clean 之外没有其他解决方案。否则 .class 文件将不会被删除。如果您使用的是 Eclipse 或 STS,那么您可以将您的 Tomcat 配置为在每次资源更改后自动发布项目。

这可能会帮助你。

于 2013-03-26T11:47:16.917 回答