【问题标题】:Warning: The page declares namespace http://xmlns.jcp.org/jsf/core no TagLibrary associated to namespace in JSF on TomEE警告:页面声明命名空间 http://xmlns.jcp.org/jsf/core 没有 TagLibrary 关联到 TomEE 上 JSF 中的命名空间
【发布时间】:2016-01-14 10:38:27
【问题描述】:

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

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

我用过这些问题:

我的代码可以运行,但是我在 Eclipse 和服务器上收到警告:

如何消除这些警告?这些也会在生产环境中显示吗?

【问题讨论】:

    标签: eclipse jsf jsf-2.2 apache-tomee


    【解决方案1】:

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


    如何消除这些警告?

    在项目的构建路径中有一个具体的 JSF 2.2 实现 JAR 文件。对于 Java EE 服务器,这通常通过在项目属性中将服务器设置为 Targeted Runtime 来完成。服务器插件将在构建路径中自动引用服务器自己的库。显然,这只有在服务器插件不错并且您已正确升级服务器本身以实际使用 JSF 2.2 时才能正常工作。

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


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

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

    【讨论】:

    • 哎哟。我被 TomEE + Eclipse 指南 tomee.apache.org/tomee-and-eclipse.html 愚弄了
    • 我想使用 f:event,但是出现“父 UIComponent 应该是 UIViewRoot 的实例”错误。似乎是另一个故事。谢谢解释!
    • 如果您实际上使用的是 TomEE 1.7.x 自己的默认 JSF 2.1 实现,只需将 XML 命名空间域从 xmlns.jcp.org 更改回 java.sun.com,如 xmlns:f="http://java.sun.com/jsf/core"
    • 我做了,滚动到 xmlns.jcp.org 只是为了检查 f:viewAction 是否有效。实际上它起作用了,我认为它只是环境配置问题。
    猜你喜欢
    • 1970-01-01
    • 2018-08-19
    • 2015-08-31
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2019-06-02
    • 1970-01-01
    相关资源
    最近更新 更多