爱站网关键词工具,vue做的小网站,结构设计网站,竞价移动网站尽管Maven提供了“配置之上的约定”解决方案#xff0c;但是仍然有足够多的必要配置引起严重的头痛。 在这篇文章中#xff0c;我将与您分享一些最佳实践#xff0c;以简化对POM文件的维护。 请勿使用已弃用的引用#xff0c;例如$ {artifactId}或$ {pom.artifactId}。 使用… 尽管Maven提供了“配置之上的约定”解决方案但是仍然有足够多的必要配置引起严重的头痛。 在这篇文章中我将与您分享一些最佳实践以简化对POM文件的维护。 请勿使用已弃用的引用例如$ {artifactId}或$ {pom.artifactId}。 使用新的$ {project.artifactId}语法。 请注意此语法遵循XML文档结构这使得记住和预测引用将导致的值变得容易。 尽量避免使用继承的属性。 开发人员可以轻松地忘记子POM使用某个属性并更改该值从而在意想不到的地方破坏了构建。 其次在没有找到和检查父POM的情况下无法轻松查找属性的做法很烦人。 使用父pom的dependencymanagement部分来定义所有依赖项版本但不要在此处设置作用域以便所有依赖项默认情况下都可以进行作用域编译。 使用属性定义依赖项版本。 通过这种方式您可以概览正在使用的所有版本而无需滚动浏览依赖项部分的多个页面。 使用父pom的pluginmanagement部分来定义构建所使用的* all *插件的版本甚至是标准的maven插件例如maven-compile-plugin和maven-source-plugin。 这样当发布新版本的插件时您的构建不会突然有所不同。 当使用不在当前POM上方目录中的父POM时请在您的父部分中定义一个空的relativePath元素。 使用依赖项插件检查项目中是否存在不必要的依赖项以及未声明但未使用的较少依赖项。 该目标称为“分析”因此请在控制台上运行以下命令“ mvndependencyanalyze” 确保pom文件包含下载所有依赖项所需的所有存储库引用。 如果要使用本地存储库而不是从Internet上进行海峡下载则可以使用Maven设置文件为poms中定义的各个存储库定义镜像。 如果使用Nexus则不要创建同时包含托管存储库和代理存储库的存储库组。 这将大大降低响应速度因为即使托管的存储库包含请求的工件Nexus也会检查代理存储库的远程位置。 确保还阅读了Sonatype的最佳实践 。 参考 Geert Schuring博客上来自JCG合作伙伴 Geert Schuring的Maven最佳实践 。 翻译自: https://www.javacodegeeks.com/2012/06/maven-best-practices.html