2013-03-19 2 views
5

방금 ​​LibreOffice의 4.0.1 UNO SDK, aaaand를 사용하여 Java 프로젝트를 개발하기 시작했습니다. 처음에는 거의 갇혀있었습니다. OpenOffice.org 대신 LibreOffice를 사용하면 동일하게 적용될 수 있다고 생각합니다. 따라서 도움을 주시면 감사하겠습니다.Open/LibreOffice로 UNO 및 Java 시작하기

저는 Eclipse Juno 4.2를 사용하고 있으며 "Hello World"와 유사한 프로젝트를 만들었습니다.

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpipe in java.library.path 
    at java.lang.ClassLoader.loadLibrary(Unknown Source) 
    at java.lang.Runtime.loadLibrary0(Unknown Source) 
    at java.lang.System.loadLibrary(Unknown Source) 
    at com.sun.star.lib.util.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:50) 
    at com.sun.star.lib.connections.pipe.PipeConnection.<clinit>(PipeConnection.java:48) 
    at com.sun.star.lib.connections.pipe.pipeConnector.connect(pipeConnector.java:110) 
    at com.sun.star.comp.connections.Connector.connect(Connector.java:114) 
    at com.sun.star.comp.urlresolver.UrlResolver$_UrlResolver.resolve(UrlResolver.java:108) 
    at com.sun.star.comp.helper.Bootstrap.bootstrap(Bootstrap.java:301) 
    at xx.test.unotest.UnoTest.main(UnoTest.java:16) 

: 나는

XComponentContext ctx = Bootstrap.bootstrap(); 

는 다음과 같은 스택 추적과 UnsatisfiedLinkError 예외를 throw 시작 부분에 코드 줄을 /program (외부 클래스 폴더로 추가) 클래스 패스에 디렉토리 및 권리를 추가 명령을 둘러싼 try/catch조차 있지만 트리거되지 않았습니다.

UNO 시작에 관한 적절한 문서를 찾을 수 없어서 무엇이 잘못되었는지 알지 못합니다. SDK가 설치되고 환경 변수가 구성됩니다.

내가 누락 된 항목이 있습니까?

: 저는 Windows 7 64 비트를 사용하고 있습니다. 아마 이것은 문제와 관련이 있습니다.

+0

의 LibreOffice와의 최신 버전을 다운로드해야 = localhost, port = 8100; urp; StarOffice.ServiceManager' http://www.oooforum.org/forum/viewtopic.phtml?t=27578 –

+0

@zachlatta 슬프게도, 나는 같은 결과를 얻습니다. – MaxArt

+0

Java 환경 변수가 올바르게 설정되어 있습니까? –

답변

6

글쎄, 그게 라이브러리 jpipe.dll은 PATH 환경 변수에 나열된 디렉토리에서 찾을 수 없습니다. LibreOffice 4.0/URE/bin 경로를 추가해야했습니다.

java.library.path에 경로를 추가해도 작동하지 않습니다.

그래서, 단순히 이후 찾을 수 없습니다 이는 MinGW를 설치는 GNU 내가 사용하지 않는 도구를 만들 필요 나를 강제 매우 성가신 SDK 설치, 그리고 엉터리 우편 도구 후 info-zip.org (api.libreoffice.org에서 제공 한 출처)의 거울은 모두 이며 모두입니다. 여전히에 이러한 어리석은 문제가 있습니다.

일단 이것이 해결되면, jpipe.dll은 32 비트 라이브러리이므로로드 할 수 없어서 은 이 실제로 문제가됩니다. 32 비트 JDK/JRE로 전환해야했습니다. 그것을 작동시키기 위해서.

남자. 약간의 인터페이스 사용자 친숙 함없이 할 수 있지만 이것은 개발자의 삶을 불필요하게 어렵게 만드는 것입니다!

오픈 소스 소프트웨어가 때때로 실패하는 이유입니다. `-accept = 소켓, 호스트 : 당신이 다음 LibreOffice와 32 비트를 사용하는 경우

+3

'/ usr/lib/ure/lib'를 리눅스의 classpath ('libjpipe.so'를 위해)에 추가하십시오. –

2

은 u는 다음 연결을 시도 (32)를 전환하지만 work.Otherwise에 JDK의 64 비트