2015-10-15 39 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

相關問題