Como desarrollador sazonado en Java/Linux, pero ignorantes en Windows, aquí fue mi experiencia (agosto de 2015) ...
Resumen Ejecutivo:
- Ir con com4j ... con la salvedad de que:
- Es posible que necesite para construir el último código (inédito) para conseguir un poco de f reciente e importante ixes.
historia más larga:
En un primer momento, la propensión a la participación de código JNI se bloquee inexplicablemente me hizo mirar a una solución no JNI. J-Interop parecía encajar en la factura.
Sin embargo, cuando traté de que j-interop funcionara, todos los permisos de DCOM de Windows y la basura del registro lo convirtieron en un PITA total. Es diferente para las diferentes versiones de Windows, los cambios necesarios deben hacerse como administrador, etc. No entiendo nada de esta basura de Windows y me da ganas de vomitar de todos modos.
Luego probé com4j y funcionó como un campeón. Este proyecto está muy bien diseñado. Genera automáticamente interfaces Java a partir de las DLL que está utilizando. Los detalles de la convención de llamadas COM se declaran usando anotaciones Java en los métodos de interfaz, lo que te permite modificarlos si es necesario (en mi caso no fueron necesarios ajustes).
Hay varios desarrolladores en github que han bifurcado el proyecto y han contribuido con correcciones, lo cual es una señal saludable.
La única advertencia es que es posible que necesite algunas de las correcciones recientes que, a partir de agosto de 2015, se fusionaron en el proyecto pero no incluidas en la última versión (que es de marzo de 2014).
Así que puede que tenga que hacer una compilación personalizada usted mismo, que incluye compilar DLL en Visual Studio, etc. Incluso como un enemigo/ignorante de Windows, pude hacer esto.
JACOB solo admite dispatch-interface; no puede hacer el enlace de vtable. –