문제

Java (특히 HP/Mercury Quality Center OTA API)에서 COM API를 호출 할 수 있습니까? 그렇다면 가장 좋은 방법은 무엇입니까?

야곱과 같은 것이 적절합니까?

코드 조각은 기본에 도움이 될 것입니다 :-)

도움이 되었습니까?

해결책

야곱 : 네, http://sourceforge.net/projects/jacob-project/ 당신의 목적에 잘 어울리는 활발한 프로젝트입니다.

여러 가지 예를 볼 수 있습니다. http://jacob-project.wiki.sourceforge.net/event+callbacks

그러나 더 많은 테스트를 받고 돈을 지불하려는 것을 원한다면 http://www.nevaobject.com/_docs/_java2com/java2com.htm.

다른 팁

또한 이것이 유용하다는 것을 알았습니다. com4j

Jawin>을 사용할 수 있습니다 http://jawinproject.sourceforge.net/

또는 지침을 시도하십시오 http://docs.rinet.ru/zhpp/ch20.htm

Arun Ky Arunky

어쩌면 당신은 살펴 봐야 할 것입니다 http://qctools4j.sourceforge.net/Qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=main_page)이 사용하는 Java 라이브러리입니다.

불행히도 COM 브리지는 Jacob DLLS를로드하므로 Linux에서 작동하지 않습니다.

위의 모든 것을 비교 한 후에는 완전히 만족 스러웠습니다.

가장 완전한 솔루션이 있습니다https://github.com/java-native-access/jna

지금.

지원,

  • 실행중인 COM 객체에 인터페이스를 가져옵니다
  • 새 COM 객체를 시작하고 인터페이스를 반환합니다
  • COM 방법을 호출하고 결과를 반환합니다
  • 선택적 별도의 COM 스레드 처리
  • ComeventCallbacks
  • runinoBjectTable 쿼리
  • 낮은 수준의 COM 사용
  • Util / High Level Java 프록시 추상화

예를 들어

MsWordApp comObj = this.factory.createObject(MsWordApp.class);

Documents documents = comObj.getDocuments();
_Document myDocument = documents.Add();

String path = new File(".").getAbsolutePath();
myDocument.SaveAs(path + "\\abcdefg", WdSaveFormat.wdFormatPDF);
comObj.Quit();

J-interop은 Java-Com Bridge입니다. J- 인터 로프. 순수한 Java로 작성되었으며 LGPL V3에 따라 라이센스가 부여되었습니다. Jacob이 사용하는 JNI 접근법과 달리 DCOM 와이어 프로토콜을 사용하여 COM 객체를 호출합니다.

J- 인트라를 사용할 수 있습니다 com2java 도구. COM2Java 도구는 COM 유형 라이브러리에 포함 된 Coclasses 및 인터페이스에 해당하는 Java "Proxy"클래스 및 인터페이스를 생성합니다. Java의 COM 구성 요소에 액세스하는 데 사용할 수있는 Java API를 효과적으로 생성합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top