Estoy trabajando en un paquete OSGi que implementa un servicio como un contenedor alrededor de un ejecutable nativo. Es decir, el servicio ejecuta el ejecutable con ProcessBuilder
, le da algunos datos y recupera el resultado. Mi pregunta es sobre la mejor forma de empaquetar este paquete. El ejecutable nativo incluye una serie de archivos de datos dependientes que deben estar presentes en el disco para que la herramienta se ejecute. He encontrado muchas referencias sobre el manejo de archivos DLL nativos en OSGi, pero ninguno que aborde los archivos asociados con un paquete que debe estar presente en el disco en lugar de solo recuperarse a través del classpath.Incluyendo recursos adicionales con paquetes OSGi
Estaba pensando que podría incluir los archivos dependientes y ejecutables directamente en el archivo del paquete y luego extraerlo programáticamente en algún directorio cuando se inicia el paquete. La otra opción en la que puedo pensar es colocar el ejecutable en algún lugar y establecer una propiedad del sistema que lo señale o algo, pero quiero mantener la configuración al mínimo.
Una solución que no es específica para una implementación de OSGi particular sería agradable, pero si no, estoy usando Equinox.
Gracias!
OSGi Service Platform Core Especificación Versión 4 La versión 4.3 proporciona ['BundleContext.getDataFile (String)'] (https://osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html#getDataFile% 28java.lang.String% 29), que puede ser apropiado. –