新的 Maven 依赖解析算法

介绍 Maven 在 eBay 被广泛用作 Java 项目构建工具。作为 Maven 的重要组成部分, 行家解决 解析声明的依赖关系,计算依赖图,调解冲突并形成编译和部署的类路径。这就是所谓的依赖解析过程。 软件开发快速迭代的主要障碍之一是构建时间过长。作为 eBay 对速度和构建改进的承诺的一部分,我们开发了一个名为 Zeus 的 Maven 扩展,旨在收集和可视化 Kibana 报告中的 Maven 构建数据。我们惊讶地发现,在解析复杂的依赖项时,Maven 解析器存在严重的性能瓶颈。在这种情况下,Maven 依赖项解析可能要为大多数构建时间负责,从而降低开发效率。 为了加快速度,我们实施了一种新算法:BF(广度优先遍历)和 Skipper(跳过不必要的依赖解析),这有助于将 eBay 大型 Java 应用程序的纯构建时间缩短 30% 到 70%!借助此算法,无论依赖关系图有多复杂,Maven 都可以突破瓶颈,在最短的时间内以最少的计算完成依赖解析。 问题分析 注意:本文提到的测试数据基于纯构建,相当于在本地存储库已完全填充时运行的 Maven 构建(mvn clean install -DskipTests)。它不涉及下载任何 Maven 工件或测试执行。 Maven 构建由 4 个部分组成:依赖项下载、依赖项解析、插件执行和测试执行。依赖项解析时间与运行 mvn dependency:tree 的总时间差不多。 从 Zeus 收集的构建数据中,我们知道 eBay 的一些项目在依赖项解析步骤中遇到了严重的缓慢(5 […]

Java 新闻综述:Payara 平台、Jakarta EE 11 规格、Open Liberty、Micronaut、Quarkus

本周 2024 年 6 月 17 日的 Java 综述重点介绍了以下新闻:2024 年 6 月发布的 Payara 平台;所有 16 项 Jakarta EE 11 规范均已通过各自的审查;Open Liberty 24.0.0.6;Micronaut 4.5.0;以及两个 Quarkus 点版本。 OpenJDK 克里斯蒂安·斯坦甲骨文公司首席技术人员, 宣布 JDK 的回归测试工具版本 7.4.0, 杰特雷格于 2024 年 5 月发布,现为 JDK 24 的默​​认版本 抢先体验版本。 JDK 23 构建 28 JDK 23 抢先体验版本 上周推出 更新 从 Build 27 开始,修复了各种 问题. 有关此新闻稿的更多详细信息,请参阅 […]

Maven 是一个新的社交网络,可以消除追随者,并希望消除压力

“这真的很激进,”斯坦利告诉我 Maven,“我们取消了点赞和关注。 这就像疯狂一样。” 一些早期采用者似乎也参与其中。 “大约三年前,我退出了所有社交媒体,因为其中存在敌意、虚假信息、脑腐病和广告,”哲学系学生本杰明·斯科特说。 “我认为,这很大程度上是流行度指标的意外后果,这些指标往往会助长虚假、煽动性和令人震惊的内容。” 他说他对 Maven 感到“惊喜”。 程序员 Martin Laskowski 表示,Maven 帮助用户“在‘我知道并喜欢这个主题’和‘这似乎与我的兴趣足够接近,但很新,我可能想要”之间的宝贵空间中找到对话,给他留下了深刻的印象。一探究竟。'” Maven 的首席技术官 Secretan 表示,尽管有争议的话题的讨论可能会变得紧张,但通常都是富有成效的。 “这不仅仅是在对方身上打出一些漂亮的俏皮话或扣篮,因为这并不能让你在这个网站上得到太多好处。” 如果没有办法获得个人追随者,或者没有算法来提升赢得关注的帖子,就没有太多动力。 就我个人而言,我发现关于一系列主题的对话是文明且有意义的——Maven 列出了各种具体的兴趣,如“豚鼠”和“引力时间膨胀”——尽管其中一个因素肯定是加入该组织的人的类型。到目前为止,网络中的许多人与三位创始人的距离只有几度。 (这也可以解释为什么男性数量明显多于女性。) 至于审核,用户可以举报帖子或其他用户,并且可以将话题、兴趣或用户静音。 人工智能还会标记潜在有问题的内容。 “我们希望确保多元化和开放的表达仍然是主流主题,”斯坦利说,“所以我们尽量不要采取高压手段。” Maven 的网络仍然很小。 斯坦利拒绝透露任何指标,但表示他已经在自己的动态中看到了一些偶然的互动,尽管这听起来比典型的在线聊天更加稀有。 一位研究人员发布了他刚刚发表的一篇题​​为“合成生物学中的开放性”的论文的链接,这篇论文的灵感来自斯坦利,然后 再次发布 据说他有一个爱好,就是通过混合氨基酸和其他成分来发明新口味。 另一位用户评论说,他们发明新口味也是一种爱好。 斯坦利建议他们联手。 Maven 的联合创始人与一些承包商合作,但没有其他全职员工。 他们表示,他们还没有确定商业模式,但可能会涉及根据人们宣称的兴趣投放广告。 几个月后他们将需要更多资金。 Twitter 联合创始人威廉姆斯因欣赏斯坦利的想法而偶然参与了该项目。 “为什么伟大无法计划 是我最喜欢的书,我已经向一百个人推荐了它,”威廉姆斯说。 其中一项建议促成了与斯坦利的会面。 创始人表示,Maven 的开发本身就是一次开放式探索,他们不断地思考各种想法。 威廉姆斯说,虽然他可以提供有关建立社交网络的建议,但“大多数时候我的指导只是帮助他们摸索如何度过难关。” 其他投资者包括 Affectiva 首席执行官兼联合创始人 Rana el Kaliouby、电子音乐二人组 Chainsmokers 的 Alex […]

15+ 健康松饼食谱 – The Healthy Maven

收集网络上最健康的松饼,包括无麸质、无谷物甚至纯素食选项。 这些健康的松饼是完美的随身早餐或简单的下午零食! 从蓝莓松饼到香蕉松饼,还有我一直以来最喜欢的西葫芦松饼(!!!) 在过去的十年里,我在网上分享了许多健康的松饼食谱。 当我没有时间准备任何东西时,松饼是我首选的简单零食或快速早餐。 它们味道鲜美,可以大批量制作,甚至我的孩子也喜欢它们! 我们的冰箱里几乎总是至少有 3 种健康松饼食谱。 因此,如果您想在不牺牲味道和质地的情况下进行更健康的交换,我将分享我的健康松饼食谱和 X 种不同的食谱,这样您一定会找到您喜欢的东西。 简单健康的松饼食谱 我的健康松饼食谱首选是我的经典燕麦粉松饼! 它们是完美的松饼面糊底料,可以根据您的喜好轻松定制。 这是您需要的成分: 燕麦粉 – 您可以使用商店购买的燕麦或在高速搅拌机中研磨自己的燕麦(使用老式燕麦或快煮燕麦,而不是钢切燕麦)。 注意:如果您不含麸质或没有燕麦粉,您可以轻松地用全麦面粉替代。 椰棕糖 – 或红糖或其他砂糖 小苏打+泡打粉 – 帮助松饼发酵。 肉桂 – 这些松饼的完美香料搭配。 苹果酱 – 你可以用罐装南瓜或捣碎的香蕉代替。 杏仁奶 – 随意加入任何其他种类的牛奶。 椰子油 – 这会增加湿度。 大鸡蛋 – 帮助将松饼粘合在一起。 注意:我不建议在这个食谱中使用亚麻蛋。 香草精 – 增味剂。 可选插件– 巧克力片、蓝莓、葡萄干等…… 请参阅下面的完整食谱。 如何储存 + 备餐松饼 松饼最好的地方之一是它们可以很容易地准备和储存,这样你就不用为松饼罐而手忙脚乱了。 我正在与您分享如何储存和准备健康的松饼,以便您触手可及! 首先,确保在储存之前将松饼冷却至室温。 如果您尝试储存热松饼,则会产生冷凝,松饼会更快变质。 […]