使用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,问题解决.

          

猜你喜欢

转载自flyeagle.iteye.com/blog/2256069