Ce projet peut être utilisé comme point de départ pour créer votre propre bundle d'applications de flux Vaadin pour OSGI. Il a les dépendances et les fichiers nécessaires pour vous aider à démarrer. Ce projet a été révisé pour Vaadin 19 (GA en mars 2021) qui ramène le support OSGI en mode NPM. Pour l'instant, le support Vaadin OSGI est uniquement pour les vues basées sur le flux (Java UIS), mais pas pour la fusion (UIS TypeScript).
Pour plus d'échantillons d'utilisation de Vaadin, vous pouvez aller sur vaadin.com/start.
Pour y accéder directement à partir de GitHub, clonez le référentiel et importez le projet dans l'IDE de votre choix en tant que projet Maven. Vous devez faire installer Java 8 ou 11.
Le projet se compose de deux sous-projets:
Le projet starter contient le code pour le bundle d'applications Web (WAB) qui peut être déployé dans n'importe quel conteneur OSGI.
Le projet app contient une infrastructure qui permet de créer un fichier JAR exécutable. L'application résultante démarre le conteneur OSGI avec toutes les dépendances nécessaires. C'est un moyen rapide de vérifier le WAB dans l'environnement OSGI.
La façon la plus simple de démarrer le projet est l'exécution de la commande mvn install , puis d'exécuter java -jar app/target/app.jar .
Le projet de démarrage peut être construit via la commande mvn -pl starter install . Ensuite, mvn -pl app bnd-resolver:resolve peut être utilisée pour générer une liste de faisceaux requis lors de l'exécution dans le conteneur OSGI et l'application peut être démarrée via mvn -pl app bnd-run:run Command.
L'application Vaadin contient généralement des dépendances à d'autres faisceaux: par exemple, composants Vaadin comme Button , TextField , etc. Chaque composant Vaadin est basé sur un composant Web représenté par Frontend Resources. Toutes les ressources de frontend sont intégrées dans un paquet avec Vaadin WAB. Par conséquent:
build-frontend soit exécuté et que le WAB soit redéployé pour mettre le bundle statique du frontage mis à jour. Voir la section Limitations dans le projet de démarrage Readme.md.