โครงการนี้ใช้ Quarkus, Hibernate Search และ Elasticsearch เพื่อแสดงเว็บแอปพลิเคชันที่มีคุณสมบัติการค้นหาข้อความแบบเต็ม
ดูวิดีโอสาธิตที่นี่
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ 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
หากคุณต้องการเรียกใช้แอปพลิเคชันในโหมดการผลิตคุณจะต้องทำให้ PostgreSQL พร้อมใช้งานบน LocalHost: 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 มันสร้างไฟล์ quarkus-run.jar ในไดเรกทอรี target/quarkus-app/ โปรดทราบว่ามันไม่ใช่ über-jar เนื่องจากการพึ่งพาจะถูกคัดลอกไปยัง target/quarkus-app/lib/ Directory
ขณะนี้แอปพลิเคชันสามารถเรียกใช้งานได้โดยใช้ 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
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างผู้บริหารระดับสูงโปรดปรึกษา https://quarkus.io/guides/maven-tooling