Различные объекты класса для типа javax / Faces / component / UIComponent, используемые в подписи - PullRequest
0 голосов
/ 14 января 2020

При развертывании примера приложения в Payara Server 5.191 я получаю ниже Исключение

java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.primefaces.expression.impl.Jsf23WidgetVarSearchKeywordResolver.resolve(Ljavax/faces/component/search/SearchKeywordContext;Ljavax/faces/component/UIComponent;Ljava/lang/String;)V" the class loader (instance of org/glassfish/web/loader/WebappClassLoader) of the current class, org/primefaces/expression/impl/Jsf23WidgetVarSearchKeywordResolver, and its superclass loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader), have different Class objects for the type javax/faces/component/UIComponent used in the signature
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:136)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:294)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:357)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:530)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:542)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:557)

Вот здесь glassfi sh -web. xml, который использует атрибут useBundledJsf:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
    <class-loader delegate="false"/>
    <property name="useBundledJsf" value="true" />
</glassfish-web-app>

Зависимости в Pom. xml


  <dependencies>

        <!-- primefaces -->
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>7.0</version>
        </dependency>
        <dependency>
            <groupId>org.primefaces.extensions</groupId>
            <artifactId>primefaces-extensions</artifactId>
            <version>1.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.primefaces.themes</groupId>
            <artifactId>all-themes</artifactId>
            <version>1.0.10</version>
        </dependency>
        <dependency>
            <groupId>org.omnifaces</groupId>
            <artifactId>omnifaces</artifactId>
            <version>1.7</version>
        </dependency>

        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.faces</artifactId>
            <version>2.2.14</version>
        </dependency>

        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

Я пытаюсь понизить мою версию Mojarra до 2.2.14.

Вышеуказанная конфигурация работает развертывается в 4.1.2.191, но thows a javax.el.PropertyNotFoundException: Target Unreachable, идентификатор 'someBean' преобразован в нулевую ошибку, как описано здесь: https://github.com/eclipse-ee4j/mojarra/issues/4186

...