You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArchUnit自定义条件违规消息无自动类链接:correspondingObject作用及问题排查

关于ArchUnit自定义条件违规消息不生成类链接的问题

correspondingObject的实际用途

它是用来绑定违规事件与对应的ArchDomainObject(比如JavaClass这类ArchUnit封装的代码实体),作为事件的关联实体,供后续报告生成、事件识别时定位违规对象,本身并不直接负责消息中的链接渲染。标准ArchConditions里的类链接,是框架内部通过DescriptionFormatter工具,将关联对象和消息文本结合格式化后生成的。

不是Bug,是自定义时未触发框架格式化逻辑

标准条件的违规消息会经过ArchUnit统一的格式化流程,自动为关联对象添加可点击链接;而直接通过SimpleConditionEvent.violated(item, 自定义文本)传入的消息是原始字符串,框架不会自动触发格式化处理,所以不会生成类链接。

生成带类链接的自定义违规消息的方法

使用ArchUnit内置的DescriptionFormatter来格式化消息,就能自动生成带链接的内容,示例代码:

String formattedMessage = DescriptionFormatter.format(item, "%s 违反了自定义规则", item.getName());
events.add(SimpleConditionEvent.violated(item, formattedMessage));

这样生成的违规消息会和标准条件的格式一致,包含类的可点击链接。

JavaDoc @link标签无效的原因

ArchUnit的违规消息渲染逻辑不支持JavaDoc标签,它有自己独立的文本格式化机制,只有通过DescriptionFormatter处理后的对象引用,才会被转换为可点击链接。

内容的提问来源于stack exchange,提问作者AlexM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:05:28