BIRT 运行时 4.15 将无法在 Tomcat 10 中启动

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

我们正在尝试从 BIRT Report Viewer 运行时 4.8 升级到最新的 4.15。

我下载了最新版本的 Tomcat 10 (10.1.23)

https://tomcat.apache.org/download-10.cgi

并下载了最新版本的 BIRT-runtime (birt-runtime-4.15.0-202403270652.zip)

https://download.eclipse.org/birt/updates/release/latest/

我使用的是java 17版本jdk17.0.8_8

我将 birt.war 文件放在 webapps 目录中,启动 tomcat,然后在 localhost.[date].log 中收到以下错误消息。只是想知道其他人是否也遇到同样的错误?

我想也许我缺少一个需要放在 tomcat/lib 文件夹中的依赖项,但不太确定是什么。

如有任何帮助,我们将不胜感激!

30-Apr-2024 13:15:14.958 SEVERE [main] org.apache.catalina.core.StandardContext.filterStart Exception starting filter [ViewerFilter]
    java.lang.ClassCastException: class org.eclipse.birt.report.filter.ViewerFilter cannot be cast to class jakarta.servlet.Filter (org.eclipse.birt.report.filter.ViewerFilter is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @5bd82fed; jakarta.servlet.Filter is in unnamed module of loader java.net.URLClassLoader @76a3e297)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4557)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:975)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1949)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:776)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1656)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:886)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:252)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:926)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:795)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
java tomcat birt
1个回答
0
投票

正如 Olaf Kock 提到的,BIRT 的类“ViewFilter”实现了

javax.servlet.Filter
,而不是
jakarta.servlet.Filter

BIRT 文档表示它支持 Java 17,但目前看来这不适用于 Viewer。

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