É possível chamar uma API COM de Java?
-
02-07-2019 - |
Pergunta
É possível chamar uma API COM de Java (especificamente a API HP / Mercury Quality Center OTA)? Se sim, qual é a melhor maneira?
É algo como JACOB apropriado?
Fragmentos de código seria útil para o básico: -)
Solução
Jacob: sim, http://sourceforge.net/projects/jacob-project/ é um projeto ativo que atendam o seu propósito muito bem.
Você pode ver vários exemplos: http: //jacob-project.wiki.sourceforge. net / Evento + Callbacks
mas se você quer algo que é mais testados e estão dispostos a pagar dinheiro, então vá para http://www.nevaobject.com/_docs/_java2com/java2com.htm .
Outras dicas
Eu também encontrei este para ser útil: com4j
Você pode usar Jawin> http://jawinproject.sourceforge.net/
ou experimentar as instruções http://docs.rinet.ru/ZhPP/ch20.htm
Arun K.Y arunky
talvez você deve ter um olhar para http://qctools4j.sourceforge.net/ é uma biblioteca Java usado por qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) para recuperar defeitos de QC.
Infelizmente a ponte COM não trabalho para linux como ele carrega dlls jacob
depois de uma comparação de todos os acima, nenhum foi totalmente satisfatória.
a mais completa solução está em https://github.com/java-native-access/jna
agora.
Ele suporta,
- recebendo interface para um objeto em execução COM
- começar um novo objeto COM e retornando a sua interface
- chamando métodos COM e retornam resultados
- manuseio opcional fio COM separado
- ComEventCallbacks
- RunninObjectTable consultas
- lowlevel COM uso
- util / alto nível de proxy java abstração
por exemplo.
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 é uma ponte Java-COM: j-Interop . Ele é escrito em Java puro e licenciado sob a LGPL v3. Ele utiliza o protocolo de rede DCOM para objectos COM chamada em oposição à abordagem JNI utilizado por Jacob.
Você pode usar ferramenta J-Integra COM2JAVA . A ferramenta com2java gera Java classes e interfaces "proxy" que correspondem às coclasses e interfaces contidas em uma biblioteca de tipos COM. Ele efetivamente gera uma API Java que você pode usar para acessar um componente COM a partir de Java.