Liferay Portlet Maven依赖异常

问题描述 投票:0回答:1

我为我的学徒建立了一个Liferay Portlet,但也很奏效。但是,我使用示例对象来使一切从一开始就简单。然后我的主管集成了一些程序包,以便我可以调用服务来获取真实对象。发生这种情况后,他更改了一些依赖项,否则将出现问题。

到目前为止,一切正常,除了用户界面上的组件不再起作用,因为在生产系统中使用的是Primefaces 7.0和Primefaces 3.5。由于在那里也使用了JSF 2.1,因此我必须将自己定位为旧版本的primefaces。但他说,有一种使用Primefaces 6.1的方法。如此处所述:https://faces.liferay.dev/home/-/archetype-portlet/liferay-portal-version/6.2/jsf-version/2.1/component-suite/primefaces/build-tool/maven

我遵循了本指南并更改了依存关系。之后,没有任何效果。我已经尝试了一切。尝试删除可能造成麻烦的重复依赖项,检查lib文件夹中的jar文件,依此类推。根据具体情况,我还会收到其他错误消息,但是我有两天没有进展了。

不幸的是,当所有版本都与旧版本兼容时,我没有得到代码。为此,我发布了当前状态,也许有人可以帮助我。

<dependencies>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.3</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
        <groupId>com.liferay.faces.patches</groupId>
        <artifactId>com.liferay.faces.lsv.485.patch</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>
    <dependency>
        <groupId>com.liferay.portal</groupId>
        <artifactId>portal-service</artifactId>
        <version>${liferay.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.liferay.portal</groupId>
        <artifactId>util-java</artifactId>
        <version>${liferay.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.1.21</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.1.21</version>
    </dependency>
    <dependency>
          <groupId>javax.faces</groupId>
          <artifactId>jsf-api</artifactId>
          <version>1.2_15</version>
          <scope>provided</scope>
     </dependency>
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.portlet</groupId>
        <artifactId>portlet-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
         <groupId>org.jboss.portletbridge</groupId>
         <artifactId>portletbridge-api</artifactId>
         <version>2.3.1.Final</version>
         <scope>provided</scope>
     </dependency>
     <dependency>
         <groupId>org.jboss.portletbridge</groupId>
         <artifactId>portletbridge-impl</artifactId>
         <version>2.3.1.Final</version>
         <scope>provided</scope>
     </dependency>
     <dependency>
         <groupId>org.richfaces.ui</groupId>
         <artifactId>richfaces-ui</artifactId>
         <version>3.3.3.Final</version>
         <scope>provided</scope>
     </dependency>
     <dependency>
          <groupId>org.richfaces.framework</groupId>
          <artifactId>richfaces-api</artifactId>
          <version>3.3.3.Final</version>
          <scope>provided</scope>
     </dependency>
     <dependency>
          <groupId>org.richfaces.framework</groupId>
          <artifactId>richfaces-impl</artifactId>
          <version>3.3.3.patched</version>
          <scope>provided</scope>
     </dependency>
     <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
     <dependency>
          <groupId>javax.faces</groupId>
          <artifactId>jsf-impl</artifactId>
          <version>1.2_15</version>
          <scope>provided</scope>
     </dependency>
     <dependency>
          <groupId>com.sun.facelets</groupId>
          <artifactId>jsf-facelets</artifactId>
          <version>1.1.15.B1</version>
          <scope>provided</scope>
     </dependency>      
    <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-el</artifactId>
        <version>2.0.0.GA</version>
        <exclusions>
            <exclusion>
                <artifactId>el-api</artifactId>
                <groupId>javax.el</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.1.29-10</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.liferay.faces</groupId>
        <artifactId>com.liferay.faces.bridge.ext</artifactId>
        <version>2.0.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.liferay.faces</groupId>
        <artifactId>com.liferay.faces.bridge.impl</artifactId>
        <version>3.1.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>
    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>6.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

出于技术原因,我从上面显示的代码中删除了2个与集成框架相关的依赖项。

这些是一些错误消息,这些消息会重新生成:

SCHWERWIEGEND: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/DynamischerKonfigurationsDialog-portlet]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1948)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: javax/faces/webapp/FacesServlet
    at com.sun.faces.config.FacesInitializer.<clinit>(FacesInitializer.java:106)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
..
SCHWERWIEGEND: Servlet.service() for servlet DynamicKonfigCheckBox Servlet threw exception
javax.portlet.faces.BridgeException: javax.faces.FacesException: No portlet bridge context
    at com.liferay.faces.bridge.internal.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:63)
...
Caused by: javax.faces.FacesException: No portlet bridge context
    at org.jboss.portletbridge.context.PortletExternalContextImpl.<init>(PortletExternalContextImpl.java:115)
    at org.jboss.portletbridge.context.MimeExternalContextImpl.<init>(MimeExternalContextImpl.java:74)
...
Feb 11, 2020 8:26:15 AM org.apache.catalina.core.ApplicationDispatcher invoke
SCHWERWIEGEND: Servlet.service() for servlet DynamicKonfigCheckBox Servlet threw exception
javax.portlet.faces.BridgeException: javax.faces.FacesException: No portlet bridge context
    at com.liferay.faces.bridge.internal.BridgePhaseRenderImpl.execute(BridgePhaseRenderImpl.java:63)
    at com.liferay.faces.bridge.internal.BridgeImpl.doFacesRequest(BridgeImpl.java:161)
...
Caused by: javax.faces.FacesException: No portlet bridge context
    at org.jboss.portletbridge.context.PortletExternalContextImpl.<init>(PortletExternalContextImpl.java:115)
    at org.jboss.portletbridge.context.MimeExternalContextImpl.<init>(MimeExternalContextImpl.java:74)
...
maven jsf dependencies liferay portlet
1个回答
0
投票

如果要对代码进行版本控制,则可以尝试使用“本地历史记录”选项,以恢复正常工作的软件。否则,您可以指定应用服务器及其配置吗?

© www.soinside.com 2019 - 2024. All rights reserved.