警告:页面声明命名空间http://xmlns.jcp.org/jsf/core在TomEE上的JSF中没有与名称空间关联的TagLibrary

时间:2016-01-14 10:38:28

标签: eclipse jsf jsf-2.2 tomee

我正在尝试创建一个验证url参数的页面,并在参数不存在时重定向到错误页面。

在TomEE 1.7.3和Eclipse上开发。项目设置为开发模式。我的目标是JSF 2.2。

我用过这些问题:

我的代码有效,但是我在Eclipse和服务器上收到警告:

enter image description here enter image description here

如何摆脱这些警告?这些还会在生产环境中展示吗?

1 个答案:

答案 0 :(得分:3)

首先,TomEE 1.7.x附带JSF 2.1,而不是2.2。迁移的xmlns.jcp.org命名空间域仅在JSF 2.2之后可用。除非您手动将TomEE本身升级为使用JSF 2.2,否则这根本不起作用,您应该继续使用java.sun.com XML命名空间域。

  

如何摆脱这些警告?

在项目的 Build Path 中有一个具体的JSF 2.2实现JAR文件。对于Java EE服务器,通常通过在服务器属性中将服务器设置为目标运行时来完成此操作。然后,服务器插件将在 Build Path 中自动引用服务器自己的库。显然,只有在服务器插件合适并且您已正确升级服务器本身以物理使用JSF 2.2时,这才能正常工作。

如果这仍然不起作用(因为服务器插件不好),那么下载单个JSF实现JAR文件,将其放在项目中的某处(但不在/WEB-INF/lib中,否则它将与服务器自己的JSF冲突在运行时impl并导致所有地方的类/方法/抽象相关异常),并将其添加到项目的构建路径

  

这些也会在生产环境中显示吗?

我无法想象生产服务器通常不通过IDE运行服务器,而HTTP客户端通常无法监控服务器的VGA输出。