Ce projet utilise Quarkus, Hibernate Search et ElasticSearch pour présenter une application Web avec des fonctionnalités de recherche en texte intégral.
Voir la vidéo de démonstration ici.
Si vous souhaitez en savoir plus sur Quarkus, veuillez visiter son site Web: https://quarkus.io/.
L'application a besoin d'Elasticsearch pour être disponible sur LocalHost: 9200. Avec Docker, vous pouvez démarrer Elasticsearch de cette façon:
docker run --rm -ti --ulimit memlock=-1:-1 --memory-swappiness=0
--name acme_elasticsearch -e xpack.security.enabled=false -e discovery.type=single-node
-e " ES_JAVA_OPTS=-Xms1g -Xmx1g " -p 9200:9200 elastic/elasticsearch:7.16.3En mode développement, Quarkus démarrera automatiquement une instance PostgreSQL grâce à Dev Services.
Si vous souhaitez exécuter l'application en mode de production, vous devrez rendre PostgreSQL disponible sur LocalHost: 5432. Avec Docker, vous pouvez démarrer PostgreSQL de cette façon:
docker run -ti --rm --ulimit memlock=-1:-1 --memory-swappiness=0
--name acme_postgresql -e POSTGRES_USER=acme -e POSTGRES_PASSWORD=acme
-e POSTGRES_DB=acme_db -p 5432:5432 postgres:13.1Vous pouvez exécuter votre application en mode Dev qui permet le codage en direct en utilisant:
./mvnw compile quarkus:devRemarque: Quarkus est désormais expédié avec une interface utilisateur de développement, qui est disponible en mode Dev uniquement sur http: // localhost: 8080 / q / dev /.
L'application peut être emballée en utilisant:
./mvnw package Il produit le fichier quarkus-run.jar dans le répertoire target/quarkus-app/ . Sachez que ce n'est pas un über-jar car les dépendances sont copiées dans la target/quarkus-app/lib/ répertoire.
L'application est désormais exécutée à l'aide de java -jar target/quarkus-app/quarkus-run.jar .
Si vous souhaitez construire un über-jar , exécutez la commande suivante:
./mvnw package -Dquarkus.package.type=uber-jar L'application, emballée en tant que über-jar , est désormais exécutée à l'aide de java -jar target/*-runner.jar .
Vous pouvez créer un exécutable natif en utilisant:
./mvnw package -PnativeOu, si vous n'avez pas installé GraAlVM, vous pouvez exécuter la version exécutable native dans un conteneur en utilisant:
./mvnw package -Pnative -Dquarkus.native.container-build=true Vous pouvez ensuite exécuter votre exécutable natif avec: ./target/quarkus-hibernate-search-starter-demo-1.0.0-SNAPSHOT-runner
Si vous souhaitez en savoir plus sur la construction d'images natives, veuillez consulter https://quarkus.io/guides/maven-tooling.