該項目使用Quarkus,Hibernate Search和Elasticsearch展示具有全文搜索功能的Web應用程序。
在此處查看演示視頻。
如果您想了解有關Quarkus的更多信息,請訪問其網站:https://quarkus.io/。
該應用程序需要Elasticsearch可在Localhost:9200上找到。使用Docker,您可以以這種方式啟動Elasticsearch:
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.3在開發模式下,Quarkus將自動啟動PostgreSQL實例,得益於DEV服務。
如果要以生產模式運行該應用程序,則需要在Localhost上提供PostgreSQL:5432。使用Docker,您可以以這種方式啟動PostgreSQL:
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.1您可以以DEV模式運行應用程序,該應用程序可以使用以下方式使用實時編碼:
./mvnw compile quarkus:dev注意: Quarkus現在使用Dev UI發貨,該運輸僅在DEV模式下可用,僅在http:// localhost:8080/q/dev/。
可以使用以下方式打包應用程序:
./mvnw package它在target/quarkus-app/ Directory中生成quarkus-run.jar文件。請注意,這不是über-jar,因為依賴項被複製到target/quarkus-app/lib/目錄中。
現在可以使用java -jar target/quarkus-app/quarkus-run.jar運行該應用程序。
如果要構建über-jar ,請執行以下命令:
./mvnw package -Dquarkus.package.type=uber-jar該應用程序以über-jar包裝,現在可以使用java -jar target/*-runner.jar運行。
您可以使用:
./mvnw package -Pnative或者,如果您沒有安裝GRAALVM,則可以使用以下方式在容器中運行本機可執行構建。
./mvnw package -Pnative -Dquarkus.native.container-build=true然後,您可以使用: ./target/quarkus-hibernate-search-starter-demo-1.0.0-SNAPSHOT-runner target/quarkus-hibernate-search-starter-demo-1.0.0.0.0-snapshot-runner執行本機可執行文件
如果您想了解有關構建本機可執行文件的更多信息,請諮詢https://quarkus.io/guides/maven-tooling。