使用myeclipse 2014创建web 表格-birt
使用myeclipse 2014创建web 报表--birt
最近要开发比较复杂的报表,选来选去最终选择birt报表,由于对birt不是很熟,选择开发工具,一种是直接使用eclipse +birt插件,但是发现很多eclipse版本集成birt后无法打开预览(Preview)选项:
另外一种是使用myeclipse 的web报表,因为myeclipse的web report 也是集成的birt,但是选用myeclipse后发现也有的办法无法使用Preview选项,最终选择myeclipse 2014,这个版本可以Preview,但是使用向导创建Report web Project后,不创建报表直接部署,tomcat启动就报如下错误:
十一月 10, 2015 11:17:10 上午 org.apache.catalina.core.ContainerBase addChildInternal 严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pedureport]] 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:633) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1113) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1671) 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.SecurityException: SHA1 digest error for org/eclipse/birt/core/framework/PlatformServletContext$1.class at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:220) at java.util.jar.JarVerifier.processEntry(JarVerifier.java:241) at java.util.jar.JarVerifier.update(JarVerifier.java:228) at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:483) at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) at java.io.BufferedInputStream.read(BufferedInputStream.java:254) at java.io.DataInputStream.readInt(DataInputStream.java:387) at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:237) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:114) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2118) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1994) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1960) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1945) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1319) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 10 more 十一月 10, 2015 11:17:10 上午 org.apache.catalina.startup.HostConfig deployDirectory 严重: Error deploying web application directory E:\apache-tomcat-7.0.42\webapps\pedureport java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
这个问题我找了很多原因,一直无法解决(总想myeclipse集成的应该不会有问题,是自己本机环境问题,所以一直无法解决),后来没办法直接下载birt对应运行时(myeclipse 2014集成运行时4.3.1):org.eclipse.birt.runtime_4.3.1.v20130918-1142.jar,替换web项目lib中对应的birt runtime jar,问题解决.