2012-10-10 109 views
0

我正在開發使用Java + OpenOffice生成報告文檔的Web應用程序。soffice.bin X11錯誤:無法打開顯示如何解決?

一個tomcat服務器和war文件安裝在Fedora機器上。

下面的代碼工作正常Fedora的機器上創建Windows操作系統作家的文件,但給錯誤,而使用戰爭文件從客戶端調用:

String oooExeFolder = "/usr/lib/openoffice.org3/program";    
XComponentContext xContext = BootstrapSocketConnector.bootstrap(oooExeFolder); 

XMultiComponentFactory xMultiComponentFactory = xContext.getServiceManager(); 

XComponentLoader xcomponentloader = (XComponentLoader) UnoRuntime.queryInterface(XComponentLoader.class, xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext)); 

XComponent xcomp = xcomponentloader.loadComponentFromURL(filep[i], "_blank", 0, new PropertyValue[0]); 

這是錯誤:

CE> /usr/lib/openoffice.org3/program/soffice.bin X11 error: Can't open display: 
CE> Set DISPLAY environment variable, use -display option 
CE> or check permissions of your X-Server 
CE> (See "man X" resp. "man xhost" for details) 

任何人都可以幫助找出這個問題的可能原因?

回答

0
After Setting display to "1.0" with following code manually problem has been resolved and i am able to access Open Office from web application to generate report 

oooExeFolder = "/usr/lib/openoffice.org3/program/"; 
List<String> oooOptions = OOoServer.getDefaultOOoOptions(); 
oooOptions.add("-display"); 
oooOptions.add(":1.0"); 

OOoServer server = new OOoServer(oooExeFolder, oooOptions); 
XComponentContext xContext = BootstrapSocketConnector.bootstrap(oooExeFolder); 
1

您需要在「無頭」模式下啓動soffice。我建議你看看JODReportsDocmosis,因爲這樣可以爲你節省很多時間。請注意我爲創建Docmosis的公司工作。

相關問題