【发布时间】:2018-03-17 04:32:43
【问题描述】:
拥有:
- Velocity 模板或宏
- 一些对象
如何验证对象 (#if) 和失败(停止进一步处理)以一种易于追踪到失败位置的方式(如在 Java 中抛出异常)。
我正在寻找这样的东西:
#if ( ! $context.treasureMap.containsKey('gold'))
#fail('no golden treasure here')
#end
背景
我正在编写一个 Maven 网站页面。速度上下文由 maven 注入并包含 POM 信息。我想从有效的 pom 中测试一些信息的存在。当信息不可用时,我想失败。
要求
- 速度处理失败 > 站点生成失败 > Maven 构建失败。
- 错误信息应导致故障位置,因此应修复该站点
- 最好没有配置(没有扩展,只是简单的 Velocity 中包含的构造/工具)
试过
- 严格参考模式
不需要的配置,不想每次都失败。 -
#evaluate('#end')又名语法错误
(选择#end对我的意图最具描述性)基本上是我想要的。处理和 maven 构建失败,但错误消息不会导致返回失败位置:ParseException: Encountered "#end" at line 1, column 1.。
【问题讨论】:
-
为了至少在 Maven 构建中显示错误行/列,我发现来自 Velocity 异常的信息未在 doxia-site-renderer 工件中使用。我报告了一个问题DOXIASITETOOLS-179
标签: velocity maven-site-plugin