Uso il database H2 per un'applicazione desktop in modalità incorporata. Quando comprimo l'applicazione nel file jar, il file di database viene omesso. Quindi, quando eseguo MyApplication.jar, niente funziona. Qual è il modo corretto di incorporare/includere/connettere il file h2.jar con MyApplication.jar? O forse c'è un altro modo per fornire database e applicazioni nel pacchetto?Come incorporare il database H2 nel file jar consegnato al client?
risposta
Uno schema comune è quello di mettere h2.jar
in un lib
directory relativa alla propria applicazione e includere una voce Class-Path
nel manifesto del vaso con una voce per esso:
Class-Path: lib/h2.jar lib/…
Addendum: Questo piccolo project include un collegamento a il JAR specification e una comoda utility per l'esame del manifest in loco.
Se stai usando maven per costruire il tuo progetto dai uno sguardo a maven-assembly-plugin (jar-with-dependencies). Ciò produrrebbe un singolo vaso con tutte le dipendenze impacchettate in esso.
Se stai usando Maven per costruire il tuo progetto, usa solo maven-shade-plugin ... ottimi risultati e controllo, l'ho usato molto.
Per l'incasso tutte le dipendenze si potrebbe scrivere qualcosa di simile:
<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>
Poi, con solo un normale "pacchetto mvn" avrete tutti vasetti le dipendenze inclusi nel vostro vaso di applicazione.
Con un'ulteriore configurazione è possibile controllare cosa viene incluso e cosa no.
Se si vuole mettere il database di stesso nel file jar, quindi questa spiegazione potrebbe aiutare: http://www.h2database.com/html/features.html#database_in_zip
Questo è anche discusso in this thread in the H2 forum.
- 1. Connessione al database H2 tramite il client del database IntelliJ
- 2. Stored procedure nel database H2
- 3. Confezione e utilizzo del database incorporato (file H2.db) all'interno di un Jar?
- 4. Come sostituire il tipo enum nel database H2?
- 5. Dichiarazione MERGE Oracle nel database H2
- 6. ID incremento automatico nel database H2
- 7. File di database incorporato Spring H2?
- 8. H2 Database connessioni multiple
- 9. Nel database H2, il campo auto_increment viene incrementato di 32?
- 10. Modulo HTML che si collega al database H2 locale
- 11. come passare il file di configurazione al file scala jar
- 12. Come incorporare un jar in HTML
- 13. Heroku con database H2
- 14. h2 (modalità embedded) del database file di problema
- 15. Come inserire (incorporare) un oggetto file nel foglio Excel
- 16. come incorporare il video nel codice laravel
- 17. Ripristina periodicamente il database Embedded H2
- 18. OAuth - incorporare il segreto del client nell'applicazione?
- 19. Come accedere alle risorse nel file JAR?
- 20. database H2 Carica dati csv più veloce
- 21. Accesso al database del progetto di riproduzione con h2-browser
- 22. Come raggruppare le immagini nel file jar
- 23. come incorporare i file WMV nel mio file html
- 24. come aggiungere il file jar esterno al percorso della classe
- 25. Come incorporare sub-report JasperReport in un jar
- 26. invia un file al client
- 27. Come creare stored procedure usando il database H2?
- 28. Come chiamare il metodo nel file jar con terminale?
- 29. JavaFX: incorporare l'immagine codificata nel file .FXML
- 30. Avviare il database H2 in modalità server tramite Spring
Come state creando questo JARfile? Stai usando uno strumento di compilazione come Maven, o semplicemente eseguendo 'jar' dalla riga di comando? – Anon
Io uso Eclipse. Esiste un'opzione per esportare in un file jar, quindi utilizzo questa opzione. – bancer
Mi raccomando di dedicare del tempo per imparare Maven: http://www.sonatype.com/books/mvnref-book/reference/public-book.html - a lungo termine, quell'investimento si ripagherà molte volte. – Anon