【问题标题】:Issue with JSF1.2 in Websphere 8.0.0.4Websphere 8.0.0.4 中的 JSF1.2 问题
【发布时间】:2013-01-24 07:56:13
【问题描述】:

Websphere 8.0.0.4 与 JSF 1.2(Sun 提供商/IBM 提供商)是否存在冲突?

我在访问我的应用程序时遇到以下问题:

引起:java.lang.ClassNotFoundException: com.sun.faces.application.ApplicationAssociate 在 java.net.URLClassLoader.findClass(URLClassLoader.java:434) 在 com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:204) 在 java.lang.ClassLoader.loadClassHelper(ClassLoader.java:665) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:644) 在 com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:627) 在 com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) 在 com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) 在 com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:566) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:627) 在 com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:566) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:627) 在 com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:566) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:627)

我的 POM 条目是:

     <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>1.2</version>
    </dependency>

     <dependency>
        <groupId>com.ibm.faces</groupId>
        <artifactId>jsf-ibm</artifactId>
        <version>1.0</version>
    </dependency>

     <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-impl-messages</artifactId>
        <version>1.0</version>
    </dependency>  

【问题讨论】:

    标签: jsf-1.2 websphere-8


    【解决方案1】:

    我找到了答案。

    1. 基本上,websphere 8 基于 Java EE 6,而 Java EE 6 基于 JSF 2.0(请参阅:http://www.oracle.com/technetwork/java/javaee/tech/index.html)。其中,websphere 7 基于 Java EE 5,Java EE 5 基于 JSF 1.2(参考:http://www.oracle.com/technetwork/java/javaee/tech/javaee5-jsp-135162.html

    2. Websphere 8 具有 J2ee.jar (Java EE 6) 和具有 JSF 2.0 实现的 com.ibm.ws.jsf.jar。

    最好的选择是不要使用带有 jsf 1.2 的 websphere 8.0。但是,如果您仍然需要使用 jsf 1.2 切换到 websphere 8.0,则需要采取以下任一选项:

    在 jsf 1.2 代码中使用 jsf 2.0 jar

    或者

    我们需要更改类加载层次结构( Parent last )并在您的应用程序中添加 JSF 1.2 特定的 jars。这将允许从应用程序而不是 webspeher 共享库中引用 JSF 1.2 jar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 2011-01-28
      • 2016-04-27
      • 2011-10-09
      • 1970-01-01
      相关资源
      最近更新 更多