Можно ли вызвать COM API из Java? - PullRequest
9 голосов
/ 26 сентября 2008

Можно ли вызвать COM API из Java (в частности, OTA API HP / Mercury Quality Center)? Если да, то как лучше?

Подходит ли что-то вроде JACOB?

Фрагменты кода будут полезны для основ: -)

Ответы [ 7 ]

9 голосов
/ 26 сентября 2008

jacob: да, http://sourceforge.net/projects/jacob-project/ - это активный проект, который вполне удовлетворит ваши цели.

Вы можете увидеть несколько примеров: http://jacob -project.wiki.sourceforge.net / Event + Callbacks

но если вы хотите что-то более проверенное и готовы платить деньги, тогда идите за http://www.nevaobject.com/_docs/_java2com/java2com.htm.

4 голосов
/ 26 сентября 2008

Я также нашел это полезным: com4j

2 голосов
/ 27 апреля 2017

после сравнения всего вышеперечисленного, ни один не был полностью удовлетворительным.

наиболее полное решение в https://github.com/java-native-access/jna

сейчас.

Поддерживает,

  • получение интерфейса для работающего COM-объекта
  • запуск нового COM-объекта и возвращение его интерфейса
  • вызов COM-методов и возвращение результатов
  • необязательная отдельная обработка потока COM
  • ComEventCallbacks
  • Запросы RunninObjectTable
  • низкоуровневое использование COM
  • утилита / абстракция Java-прокси высокого уровня

1028 * Е.Г. *

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();
2 голосов
/ 11 октября 2010

может быть, вам стоит взглянуть на http://qctools4j.sourceforge.net/ это библиотека java, используемая qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) для извлечения дефектов из QC.

к сожалению, COM-мост не работает для Linux, так как он загружает jacob dll

2 голосов
/ 30 декабря 2008

Вы можете использовать Jawin> http://jawinproject.sourceforge.net/

или попробуйте инструкцию http://docs.rinet.ru/ZhPP/ch20.htm

Арун К.Ю. arunky

1 голос
/ 17 декабря 2010

Вы можете использовать инструмент J-Integra COM2JAVA . Инструмент com2java генерирует прокси-классы и интерфейсы Java, которые соответствуют коклассам и интерфейсам, содержащимся в библиотеке типов COM. Он эффективно генерирует API Java, который вы можете использовать для доступа к компоненту COM из Java.

1 голос
/ 10 марта 2010

j-Interop - это мост Java-COM: j-Interop . Он написан на чистой Java и лицензирован под LGPL v3. Он использует протокол DCOM для вызова COM-объектов, в отличие от подхода JNI, используемого JACOB.

...