Maven是比较流行的java构建工具 , Maven的常见问题可能包括依赖冲突、缓存解析 , 以及构建时间缓慢 。 为什么Maven构建花费的时间比它应该花费的时间更长 , 如何改进 。 下面是对Maven缓慢构建进行故障排除的四个技巧 。 想要了解有关Maven的更多知识 , 可以报名参加java培训来学习 , 在专业老师的教学指导下 , 你可以很快掌握Maven使用技能 。
1.Maven中的并行构建
默认情况下 , Maven不会利用硬件的全部功能 。 它按顺序而不是并行地构建所有模块 。 但是 , 项目设置通常不要求是连续的 。 通常 , 您可以命令Maven分析项目 , 包括依赖关系图 , 并在可能的情况下并行构建项目 。 您可以指定用于构建项目的确切线程数 , 也可以使用参数的可移植版本 , 并根据计算机上可用的CPU指定线程数 。
mvn-T 4 install -- will use 4 threads
mvn-T 1C install -- will use 1 thread per available CPU core
虽然您的项目可能不容易并行构建 , 但值得一试 , 速度可能会大大加快 。 默认情况下 , 每个CPU核心使用一个线程 。 您的开发机器可能有多余的计算能力 , 加快构建总是有用的 。
2.并行运行Maven测试
【5G|java培训:如何加速Maven构建】测试是构建的一个方面 , 它可能对您的构建速度有最大的影响 。 最常见的做法是在您只对构建工件感兴趣时禁用测试 , 但我们不能推荐这种非常规工程实践 。 如果您真的打算在Maven构建过程中跳过测试目标 , 那么大多数插件所尊重的最常见属性是:-DskipTests=true 。 然而 , 您可以在不破坏反馈循环的情况下实现更快的构建时间 。 在java培训中 , 会有关于Maven的使用技巧的课程 , 学好这些技巧 , 有助于更好地进行开发项目 , 少出问题 。
答案是并行运行测试 。 我们刚才讨论的并行化技术在模块级工作 。 如果您正在使用一个已建立的插件来运行测试 , 比如说Surefire , 您还可以将其配置为在模块内并行执行 。 并行运行测试可能会导致不必要的副作用 , 特别是当它们纠结在一起并期望按特定顺序执行时 。 然而 , 这完全是另一回事 , 你应该完全尝试一下 , 看看它是否适合你 , 以及它能加速你的构建速度 。 你可以在以后找出失败的原因 。
3.仅构建必要的模块
您通常使用什么命令来构建项目?答案是:
mvnclean install
清理Maven时 , 会删除所有生成的工件、所有临时文件 , 除了配置和签入版本控制的文件 。 然后 , 它会再次生成这些文件的新副本 。 当您遇到一个奇怪的缓存问题或一些您有但其他人无法复制的模糊错误时 , 它非常有用 。
然而 , 这将需要额外宝贵的秒数和CPU周期来完成基本上不必要的重新创建现有文件的工作 。 相反 , 您通常想要做的是以增量方式构建项目 。 通过java培训学习 , 可以帮助你更好地了解Maven相关问题 , 提高开发效率 。
假设您有一个多模块项目 , 其中包含很少更改的公共核心模块 , 以及您当前正在开发的web界面 。 更改web界面模块后 , 请尝试运行以下命令:
mvninstall -pl $moduleName -am
首先 , 我们删除了对clean阶段的隐式调用 。 这个项目很少需要清洁 , 所以我们不想一直这样做 。 让我们看一下刚才使用的Maven命令中其他选项的描述:
-pl-使Maven只构建指定的模块 , 而不是整个项目 。
-am-使Maven了解我们的目标依赖于哪些模块 , 并构建它们 。
同时使用这些选项的结果是灵活性和速度的完美结合 。 我们知道我们通常使用什么模块 , 如果我们更改了任何依赖项 , 它们也将被更新 。 同时 , 您的项目构建的很大一部分将被跳过 , 因为它仍然是新的 , 不需要重建 , 或者因为它不是目标模块的一部分 , 也不会发挥作用 。
- 小米科技|不聊性能只谈拍照!新旗舰反向升级成潮流,拍照手机如何选?
- 搜索引擎|淘宝运营系统出台春节打烊功能,淘宝运营商家该如何选择?
- 小米科技|RTX3060的性能到底如何?相比RTX2060提升有多大?
- 市值超 1.7 万亿的Netflix是如何做决策的?
- javascript|Web前端培训:什么是 MEAN Stack?
- QQ音乐的2021专辑盘点,是如何征服资深乐迷的
- 饭饭1080°平台分析之生鲜电商平台如何选择ERP系统和SAAS系统
- 在2021大中华区艾菲国际论坛上|玛雅文化施葵:新消费时代,如何助力品牌跑出“破圈”加速度?
- 布局潮范多元化圈层 看MAZDA3昂克赛拉如何玩出花样?
- 原标题:月背工作满三年|月背工作三年 嫦娥四号如何做到超服期役?专家回应