4
4

2 回答 2

4

从理论上讲,像 WTP 和 JBosd 工具这样的 Eclipse 插件可以做到这一点,但到目前为止,这些插件只能在完整的 IDE 中工作,而不是作为可由 Ant 或 Maven 调用的单独命令行工具。

更糟糕的是,这些工具从来都不是完美的。他们总是报告大量误报,根据经验,他们的验证算法通常落后数年。当前版本的 WTP 可能只是勉强验证 Java EE 5 的所有内容(也许它仍然遗漏了一些晦涩的功能)。

因此,如果您基于此验证的构建失败,您可能永远无法部署任何东西。即使在最仔细编码和完全正确的 Web 应用程序中,WTP 和 JBoss 工具也发现有必要报告数百个或在大型项目中数千个警告和错误。恕我直言,依赖它完全没用。

于 2013-01-06T15:02:54.503 回答
3

这是一种鸡/蛋问题。正如您自己所说,许多 EL 表达式只能在运行时进行评估。

请记住,EL 包含的不仅仅是简单的属性和方法名称,它还有不同的隐式对象(paramsfacesContextsession等),可在不同的上下文中使用,您还可以通过许多不同的方式将自己的对象添加到其中(其他 Facelets 模板,可能会或可能不会在 faces-config 中注册的 bean,甚至是在视图中插入对象的纯 Java 代码)。

所有这些都导致使用这种类型的检查来构建工具变得非常困难。我认为最接近您想要的是使用JSFUnitArquillian为每个页面创建自己的 JSF 单元测试,并将它们集成到您的构建中。由于您的目标是 JBoss 7,我认为这应该是可行的。

于 2013-01-06T15:07:32.760 回答