2015-10-15 28 views
6

直到两天前,我安装了带有BIRT的Eclipse Helios(来自所有功能于一身的2.6.2软件包)才能正常工作。在创建报告时,我的安装冻结了。我重新启动,然后BIRT工具不再可用。我删除了我的eclipse文件夹以及我的.metadata和.eclipse文件夹,然后再次解压该包。 通过正常的设置 - 帮助>安装软件,安装'IBM TRIRIGA BIRT功能',然后重新启动。仍然没有可用的工具。还尝试安装一体机的较旧和较新版本无济于事。 我已经多次更改了工作区,日志没有显示任何错误。 BIRT功能也出现在“安装”列表中。IBM TRIRIGA BIRT在Eclipse 3.6.2中安装后不显示的功能

在此先感谢。

编辑:

有在我的工作区的.metadata文件夹中的日志文件中的错误,并有错误出现。所有超过2000KB的缓存罐都会抛出以下错误:

org.eclipse.equinox.p2.core.ProvisionException:无法读取存储库文件:/ C:/Eclipse_Helios/eclipse/p2/org.eclipse .equinox.p2.repository /缓存/ content625995868.jar。

,然后(栈跟踪后):

所致:java.io.IOException的:解析器已经达到实体膨胀极限“64000”由应用程序设置。

我环顾四周,发现了几个解决方案(一个是关于eclipse中的设置,将jre设置为1.4以上(它还没有工作),或者创建一个名为jaxp.properties的文件并放置它$ {java.home} /lib/jaxp.properties

EIDT II:

所以我已经卸载了所有的Java版本,我发现以下几点:

官方IBM TRIRIGA报告作者pdf说要安装java 1.5。

I已经尝试了1.5的多个版本,并且都安装得很好,在日志文件中没有任何错误。但是(这是最令人困惑的) - IBM TRIRIGA功能并未显示在首选项中。没有错误任何地方,只是没有插件显示。

我试过的Java 1.6和功能显示,但是当我尝试连接到数据库,它抛出一个连接错误:

!ENTRY com.tririga.platform.birt.preferences 4 0 2015-10-23 09:19:27.376 
!MESSAGE Connection Failed 
!STACK 0 
com.tririga.platform.clientserver.reqresp.RequestResponseException: An Error Occurred. Contact your System Administrator. -- [MID-2406107507] 
    at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshallError(ObjectSerializer.java:47) 
    at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshall(ObjectSerializer.java:57) 
    at com.tririga.platform.clientserver.server.http.HTTPClientConnectionHandler.doPost(HTTPClientConnectionHandler.java:133) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.tririga.platform.context.ContextFilter$2.execute(ContextFilter.java:130) 
    at com.tririga.platform.context.ContextServiceImpl.runInNewReadOnlyContext(ContextServiceImpl.java:146) 
    at com.tririga.platform.context.ContextFilter.doFilterInternal(ContextFilter.java:116) 
    at com.tririga.platform.context.ContextFilter.doFilter(ContextFilter.java:65) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.tririga.web.filter.XSSDecodingFilter.doFilter(XSSDecodingFilter.java:61) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.tririga.web.filter.XSSURLEncodeFilter.doFilter(XSSURLEncodeFilter.java:68) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.tririga.web.filter.EncodingFilter.doFilter(EncodingFilter.java:29) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: com.tririga.platform.clientserver.reqresp.RequestResponseException: 
    at com.tririga.platform.clientserver.shared.http.ObjectSerializer.marshallError(ObjectSerializer.java:46) 

回Java 1.4,该功能不显示,并显示原来的“64000”错误。

该死的。

+0

[Eclipse的跟踪](http://www.ibm.com/developerworks/rational/library/06/0221_rossner/)很可能呈现什么IDE启动过程中发生的事情 - 具体而言,插件是否加载并正确初始化自己。 –

回答

1

显然这是Java XML解析器的问题。它可以处理64,000个“实体”的限制(来源丰富,例如GraphDB FAQ)。

尝试在开始时将entityExpansionLimit=128000系统属性传递给JVM。也就是说,无论是从命令行启动Eclipse,添加系统属性

eclipse -DentityExpansionLimit=128000 

或将其添加到eclipse.ini文件(底部):

-vmargs 
-XX:MaxPermSize=128m 
-Xms40m 
-Xmx512m 
-DentityExpansionLimit=128000 

如果这不起作用,尝试围绕着实际的房产价值。另外,请注意,上面提到的源代码还说明了如何在Tomcat实例中运行应用程序(不确定错误实际出现在哪里,Eclipse或服务器?)。

Don't forget that if running in Tomcat then this must be passed to the Tomcat instance using the CATALINA_OPTS environment variable. -DentityExpansionLimit=128000

+0

Thanks @ s.d ...前些日子尝试过(上面没有提到它,因为很多源似乎与sax解析交织在一起)。这些似乎也不帮助我。此外,我仍然得到'64000',就好像日食甚至没有增加强制限制。 – mrwienerdog

相关问题