Websphere 8.0.0.4中的JSF1.2问题

时间:2013-01-24 07:56:14

标签: jsf-1.2 websphere-8

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)         at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:665)         at java.lang.ClassLoader.loadClass(ClassLoader.java:644)         在com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119)         at 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)         at java.lang.ClassLoader.loadClass(ClassLoader.java:627)         在com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:566)         at 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>  

1 个答案:

答案 0 :(得分: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)和com.ibm.ws.jsf.jar,它有JSF 2.0实现。

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

    使用jsf 2.0 jars和jsf 1.2代码

    或者

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