egl*_*ter 6 configuration tomcat maven jsf-2
我正在开发一个JSF 2.0应用程序(Mojarra + Primefaces)并使用maven构建环境.在我使用faces-config.xml文件注册我的自定义转换器和验证器之前,到目前为止一切顺利.然后我看到了一些JSF 2.0的语法糖 - 基于注释的配置方法.现在我想使用它,而不是xml配置文件.一个问题是Mojarra没有扫描我的注释类.我发现我需要将<faces-config ... metadata-complete="false">属性设置为false.现在它可以工作,但只有我开始我的mvn tomcat:run-war目标应用程序,而不是mvn tomcat:run动态项目,这对于开发更舒适.JSP 2.0的规范说:
如果WEB-INF/faces-config.xml文件中的元素包含值为"true"的metadata-complete属性,则实现不得对除实现本身提供的那些类之外的任何类执行注释扫描.否则,继续如下.
如果运行时发现应用程序配置资源中的条目与注释之间存在冲突,则应用程序配置资源中的条目优先.必须扫描WEB-INF/classes中的所有类.
对于应用程序的WEB-INF/lib目录中的每个jar,如果jar包含"META-INF/faces-config.xml"文件或与正则表达式".*.faces-config.xml"匹配的文件(甚至一个空的),必须扫描该罐子里的所有类.
但它没有说明在maven构建环境中运行的动态项目:)!有没有人有解决这个问题的方法?
干杯,
凯文
我也遇到了这个问题,但发现添加 war:inplace 目标使其对我有用。即使用
mvn clean war:inplace tomcat:run
Run Code Online (Sandbox Code Playgroud)
而不仅仅是“tomcat:run”,它应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |