Je travaille sur un bundle OSGi qui implémente un service comme wrapper autour d'un exécutable natif. Autrement dit, le service exécute l'exécutable avec ProcessBuilder
, lui fournit des données et récupère le résultat. Ma question concerne la meilleure façon d'emballer ce paquet. L'exécutable natif inclut un certain nombre de fichiers de données dépendants qui doivent tous être présents sur le disque pour que l'outil puisse s'exécuter. J'ai trouvé beaucoup de références sur le traitement des DLL natives dans OSGi, mais aucune référence aux fichiers associés à un bundle qui doit être présent sur le disque plutôt que simplement récupérable via le classpath.Inclusion de ressources supplémentaires avec les bundles OSGi
Je pensais que je pourrais inclure les fichiers exectuable et dépendants directement dans l'archive du paquet, puis extraire par programme dans un répertoire lorsque l'ensemble est démarré. L'autre option que je peux penser est de mettre l'exécutable quelque part et de définir une propriété système qui pointe vers lui ou quelque chose, mais je veux garder la configuration au minimum.
Une solution qui n'est pas spécifique à une implémentation OSGi particulière serait bien, mais si ce n'est pas le cas, j'utilise Equinox.
Merci!
La spécification de base de la plate-forme OSGi Service version 4 version 4.3 fournit ['BundleContext.getDataFile (String)'] (https://osgi.org/javadoc/r4v43/core/org/osgi/framework/BundleContext.html#getDataFile% 28java.lang.String% 29), ce qui peut être approprié. –