IBM TRIRIGA BIRT特性在Eclipse 3.6.2中安装后不显示

IBM TRIRIGA BIRT特性在Eclipse 3.6.2中安装后不显示,eclipse,Eclipse,直到两天前,我安装的EclipseHelios和BIRT(来自一体化的2.6.2软件包)运行良好。创建报告时,我的安装冻结。我重新启动,然后BIRT工具不再可用。我删除了我的eclipse文件夹以及.metadata和.eclipse文件夹,并再次解压缩了包。 完成了正常的安装-帮助>安装软件,安装了“IBM TRIRIGA BIRT功能”,然后重新启动。仍然没有可用的工具。还试图安装旧版本和新版本的一体机,但都无济于事。 我已经多次更改工作区,日志中没有显示任何错误。BIRT功能也出现在“已安

直到两天前,我安装的EclipseHelios和BIRT(来自一体化的2.6.2软件包)运行良好。创建报告时,我的安装冻结。我重新启动,然后BIRT工具不再可用。我删除了我的eclipse文件夹以及.metadata和.eclipse文件夹,并再次解压缩了包。 完成了正常的安装-帮助>安装软件,安装了“IBM TRIRIGA BIRT功能”,然后重新启动。仍然没有可用的工具。还试图安装旧版本和新版本的一体机,但都无济于事。 我已经多次更改工作区,日志中没有显示任何错误。BIRT功能也出现在“已安装”列表中

提前谢谢

编辑:

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

org.eclipse.equinox.p2.core.ProvisionException:无法读取文件:/C:/eclipse\u Helios/eclipse/p2/org.eclipse.equinox.p2.repository/cache/content625995868.jar中的存储库

然后(在stacktrace之后):

原因:java.io.IOException:解析器已达到应用程序设置的实体扩展限制“64000”

我环顾四周,找到了两个解决方案(一个是关于eclipse中的设置,将jre设置在1.4以上(这一直不起作用),或者创建一个名为jaxp.properties的文件,并将其放置在${java.home}/lib/jaxp.properties中

EIDT II:

因此,我卸载了所有java版本,并发现以下内容:

官方的IBMTririga报告编写者pdf表示已经安装了Java1.5

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

我尝试了java 1.6,该功能显示,但当我尝试连接到DB时,它会抛出一个连接错误:

!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)
回到Java1.4,特性没有显示,原来的“64000”错误显示


该死。

显然,这是Java XML解析器的一个问题。它可以处理的“实体”数量限制为64000个(例如,来源丰富)

尝试在开始时将
entityExpansionLimit=128000
系统属性传递给JVM

eclipse -DentityExpansionLimit=128000
或者将其添加到
eclipse.ini
文件(底部):

如果这不起作用,试着玩弄实际的属性值

另外,请注意,上面提到的源代码还提到了以下关于在Tomcat实例中运行应用程序的内容(不确定错误实际出现在哪里,Eclipse还是服务器?)

不要忘记,如果在Tomcat中运行,则必须使用CATALINA_OPTS环境变量将其传递给Tomcat实例。 -齿数扩展限制=128000


感谢@s.d…前几天尝试过这个(上面没有提到,因为很多源代码似乎与sax解析交织在一起)。这些似乎对我也没有帮助。此外,我仍然得到了“64000”,好像eclipse甚至没有得到强制的限制增加。这可能会显示IDE启动期间发生了什么-具体地说,插件是否已加载并正确初始化。
-vmargs
-XX:MaxPermSize=128m
-Xms40m
-Xmx512m
-DentityExpansionLimit=128000