J'utilise la base de données H2 pour une application de bureau en mode intégré. Lorsque je compresse l'application dans le fichier jar, le fichier de base de données est omis. Ainsi, quand je cours MyApplication.jar rien ne fonctionne. Quelle est la bonne façon d'incorporer/inclure/connecter le fichier h2.jar avec MyApplication.jar? Ou peut-être existe-t-il une autre façon de fournir la base de données et l'application dans le bundle?Comment intégrer la base de données H2 dans un fichier jar remis au client?
Répondre
Un projet commun est de mettre h2.jar
dans un parent de répertoire lib
à votre application et inclure une entrée Class-Path
dans votre manifeste JAR avec une entrée pour elle:
Class-Path: lib/h2.jar lib/…
Addendum: Ce petit project comprend un lien vers le JAR specification et un utilitaire pratique pour examiner le manifeste in situ.
Si vous utilisez maven pour créer votre projet, regardez maven-assembly-plugin (jar-with-dependencies). Cela produirait un pot unique contenant toutes les dépendances.
Si vous utilisez Maven pour construire votre projet, utilisez simplement maven-shade-plugin ... d'excellents résultats et un bon contrôle, je l'ai beaucoup utilisé.
Pour intégrer toutes vos dépendances vous écrire quelque chose comme:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Alors avec juste un « mvn package » normal, vous aurez tous les pots vos dépendances incluses dans votre pot d'application.
Avec une configuration supplémentaire, vous pouvez contrôler ce qui est inclus et ce qui ne l'est pas.
Si vous voulez mettre la base de données elle-même dans votre fichier jar, cette explication pourrait aider: http://www.h2database.com/html/features.html#database_in_zip
Ceci est également discuté dans this thread in the H2 forum.
- 1. h2 base de données (mode intégré) fichiers problème
- 2. Incorporation par programme de la base de données Java h2
- 3. Base de données H2 et fonctions dans des schémas séparés
- 4. H2 (embedded) Base de données en Java - StackOverflowError
- 5. envoyer un fichier au client
- 6. Comment créer un fichier jar client d'application pour le client de lancement IBM
- 7. Comment intégrer svg en lecture HTML à partir de la base de données
- 8. Comment écrire dans un fichier XML dans un fichier jar?
- 9. Base de données H2: prise en charge des index clusterisés
- 10. Restauration de toutes les informations possibles à partir d'un fichier de base de données h2 corrompu
- 11. Comment décompiler un fichier .jar?
- 12. Comment exécuter un fichier JAR
- 13. Délivrer un fichier image généré au client sans écrire le fichier dans un répertoire serveur
- 14. Comment utiliser un fichier externe pour la configuration de la base de données dans l'environnement EJB
- 15. Comment charger automatiquement un fichier jar de base de données dans Groovy sans utiliser le commutateur -cp?
- 16. Ajout de la signature au fichier jar empêche son chargement
- 17. Modifier un fichier XML dans un fichier jar avec Java
- 18. Comment intégrer un fichier XML dans un fichier swc
- 19. Comment intégrer Scala dans la plate-forme Android de base?
- 20. Synchronisation entre la base de données client et la base de données centrale
- 21. Démarrer la base de données H2 en mode serveur via Spring
- 22. Enregistrer le temps côté client dans la base de données
- 23. Comment sauvegarder le moteur de base de données H2 intégré pendant son exécution?
- 24. Lire les fichiers DBF Paradox et importer dans la base de données H2
- 25. Lire des fichiers dans un fichier JAR
- 26. Comment créer une procédure stockée en utilisant la base de données H2?
- 27. Déploiement de la base de données sur l'ordinateur du client
- 28. Comment intégrer au mieux plusieurs systèmes?
- 29. PropertyPlaceholderConfigurer de Spring avec la propriété dans un fichier jar
- 30. Java, en utilisant un autre programme java au format jar
Comment créez-vous ce fichier JAR? Utilisez-vous un outil de construction tel que Maven ou simplement lancez jar depuis la ligne de commande? – Anon
J'utilise Eclipse. Il y a une option pour exporter dans le fichier jar, donc j'utilise cette option. – bancer
Je recommande de prendre le temps d'apprendre Maven: http://www.sonatype.com/books/mvnref-book/reference/public-book.html - à long terme, cet investissement va se rembourser plusieurs fois. – Anon