当我删除/重命名相应的.java文件时,是否有可能告诉maven-compiler-plugin删除.class文件?



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

  • http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

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

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

  • http://ant.apache.org/manual/Tasks/javac.html

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

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

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

我想得到一致的构建每次我运行mvn package和保持构建的增量性质(所以避免mvn clean)。

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

考虑以下内容:

mvn clean package

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

显然,当你进行重构时,涉及到你移动/重命名类,你需要做一个干净的编译,以确保你没有任何遗留。

编译器插件不是用来处理编译之外的任何事情的。Maven的插件被严格划分为自包含的功能单元。

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

那可能对你有帮助。

相关内容

  • 没有找到相关文章

最新更新