āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻāĻ‡ āĻŦā§āĻ˛āĻ—ā§‡ āĻ¸āĻŦāĻžāĻ‡āĻ•ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹, āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ¸āĻŋāĻ°āĻŋāĻœā§‡āĻ° āĻšāĻ¤ā§āĻ°ā§āĻĨ āĻĒā§‹āĻ¸ā§āĻŸ!

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ‚āĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ "āĻ†āĻ˛ā§āĻŸā§āĻ°āĻž-āĻĢāĻžāĻ¸ā§āĻŸ āĻ¸āĻžāĻŦāĻŸāĻŽāĻŋāĻ• āĻœāĻžāĻ­āĻž", āĻ“āĻ°āĻĢā§‡ "āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻœāĻžāĻ­āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•, GraalVM āĻāĻŦāĻ‚ OpenJDK āĻšāĻŸāĻ¸ā§āĻĒāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ†āĻœ āĻ†āĻŽāĻ°āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻœāĻžāĻ­āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ Red Hat JBoss āĻāĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ (JBoss EAP) āĻ•ā§āĻ‡āĻ•āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ helloworld āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨, āĻ¯āĻž āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ CDI āĻāĻŦāĻ‚ Servlet 3 āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¯ā§‡ Quarkus āĻāĻŦāĻ‚ JBoss EAP āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻŽāĻžāĻ¨-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻā§‡āĻ¯āĻŧāĨ¤ JBoss EAP āĻ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻ‡? āĻ•ā§‹āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨ā§‡āĻ‡, āĻāĻŸāĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ JBoss EAP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ Red Hat āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻŸā§āĻ˛āĻ•āĻŋāĻŸ. āĻāĻ° āĻĒāĻ°ā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•ā§ƒāĻ¤ āĻ•ā§‹āĻĄā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ github.com/mrizzi/jboss-eap-quickstarts/tree/quarkus, āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ“āĻšā§‡ āĻŦāĻŋāĻļā§āĻŦ.

āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŽā§‚āĻ˛āĻ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚ āĻ• āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛.

āĻšāĻ˛ā§āĻ¨ āĻ•ā§‹āĻĄ āĻĒā§‡āĻ¤ā§‡

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ JBoss EAP āĻĻā§āĻ°ā§āĻ¤ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ:

$ git clone https://github.com/jboss-developer/jboss-eap-quickstarts.git
Cloning into 'jboss-eap-quickstarts'...
remote: Enumerating objects: 148133, done.
remote: Total 148133 (delta 0), reused 0 (delta 0), pack-reused 148133
Receiving objects: 100% (148133/148133), 59.90 MiB | 7.62 MiB/s, done.
Resolving deltas: 100% (66476/66476), done.
$ cd jboss-eap-quickstarts/helloworld/

āĻ†āĻ¸ā§āĻ¨ āĻĻā§‡āĻ–āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻ¸āĻ˛ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻ¨āĻžāĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻŦā§ˆāĻœā§āĻžāĻžāĻ¨āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻŦāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻāĻ° āĻ†āĻ¸āĻ˛ āĻ†āĻ•āĻžāĻ°ā§‡ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

1. āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻ–ā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ JBoss EAP āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻ°ā§āĻŸā§‡ āĻ¯āĻžāĻ¨ (āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡), āĻ…āĻ°ā§āĻĨāĻžā§Ž, EAP_HOME āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĨ¤

2. āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš JBoss EAP āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨:

$ EAP_HOME/bin/standalone.sh

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡, EAP_HOMEbinstandalone.bat āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ•āĻ¯āĻŧā§‡āĻ• āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ°ā§‡, āĻ˛āĻ—ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤:

[org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.2.0.GA (WildFly Core 6.0.11.Final-redhat-00001) started in 3315ms - Started 306 of 527 services (321 services are lazy, passive or on-demand)

3. āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ–ā§āĻ˛ā§āĻ¨ā§ˇ 127.0.0.1:8080 āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 1. JBoss EAP āĻšā§‹āĻŽ āĻĒā§‡āĻœāĨ¤

4. āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨ āĻ•ā§āĻ‡āĻ•āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨: helloworld āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ (āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ°ā§āĻŸ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡) āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨:

$ mvn clean install wildfly:deploy

āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ˛āĻ—ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦ:

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.224 s

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, JBoss EAP-āĻ¤ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡ āĻŽāĻžāĻ¤ā§āĻ° 8 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§‡āĻ—ā§‡āĻ›ā§‡āĨ¤

āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨, āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ–ā§āĻ˛ā§āĻ¨ 127.0.0.1:8080/āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 2. JBoss EAP āĻĨā§‡āĻ•ā§‡ āĻ†āĻ¸āĻ˛ āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄāĨ¤

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž

āĻ‡āĻ¨āĻĒā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° createHelloMessage(āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¨āĻžāĻŽ) āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻĨā§‡āĻ•ā§‡ āĻŽāĻžāĻ°ā§āĻ•ā§‹āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨:

writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ†āĻŦāĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¨:

$ mvn clean install wildfly:deploy

āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ°āĻŋāĻĢā§āĻ°ā§‡āĻļ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–āĻŋ āĻ¯ā§‡ āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 3. JBoss EAP-āĻ āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻŽāĻžāĻ°ā§āĻ•ā§‹āĨ¤

āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¨ā§āĻ¨ āĻāĻŦāĻ‚ JBoss EAP āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨

āĻāĻŸāĻŋ āĻāĻšā§āĻ›āĻŋāĻ•, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$ mvn clean install wildfly:undeploy

āĻ†āĻĒāĻ¨āĻžāĻ° JBoss EAP āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡, āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ¤ā§‡ Ctrl+C āĻŸāĻŋāĻĒā§āĻ¨āĨ¤

āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ†āĻĒāĻ—ā§āĻ°ā§‡āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻāĻ–āĻ¨ āĻ†āĻ¸āĻ˛ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻ–āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻ•ā§āĻ‡āĻ•āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻļā§‡āĻˇ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŦā§āĻ°āĻžāĻžā§āĻš āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

$ git checkout -b quarkus 7.2.0.GA

pom.xml āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻ°āĻž pom.xml āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŦāĨ¤ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸āĻ•ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ XML āĻŦā§āĻ˛āĻ• āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡, helloworld āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨:

$ mvn io.quarkus:quarkus-maven-plugin:0.23.2:create

āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 0.23.2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ Quarkus āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ github.com/quarkusio/quarkus/releases/latest.

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ pom.xml-āĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻŦā§‡:

  • āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ , āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĨ¤
  • āĻŦā§āĻ˛āĻ• āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻŦāĻŋāĻ“āĻāĻŽ (āĻ¸āĻžāĻŽāĻ—ā§āĻ°ā§€āĻ° āĻŦāĻŋāĻ˛) āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
  • quarkus-maven-plugin āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ•āĻžāĻļ āĻŽā§‹āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ†āĻŽāĻ°āĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ pom.xml-āĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻŋ:

  1. āĻŸā§āĻ¯āĻžāĻ— āĻŸāĻžāĻ¨āĻž āĻšāĻšā§āĻ›ā§‡ āĻŦā§āĻ˛āĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ°āĻžāĻ–ā§āĻ¨ . āĻ•āĻžāĻ°āĻŖ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒā§‡ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ˛āĻ•āĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŦ , āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ .
  2. āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ• āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ , āĻ•āĻžāĻ°āĻŖ Quarkus āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ†āĻ° JBoss āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻĒā§‹āĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤
  3. āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ¯āĻžāĻ— āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻ•āĻ° āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ°āĻžāĻ–ā§āĻ¨ . āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻšāĻžāĻ¨ āĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
  4. āĻŸā§āĻ¯āĻžāĻ— āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ , āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ†āĻ° āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻĻā§āĻ§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ JARāĨ¤
  5. āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻŋ:
    1. āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž javax.enterprise:cdi-api āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ io.quarkus:quarkus-arc, āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ , āĻ¯ā§‡āĻšā§‡āĻ¤ā§ (āĻĄāĻ•ā§āĻ¸ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€) āĻāĻ‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ CDI āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ° āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
    2. āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨ io.quarkus:quarkus-undertow, āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ , āĻ•āĻžāĻ°āĻŖ (āĻĄāĻ•ā§āĻ¸ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€) āĻāĻ‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
    3. āĻ†āĻŽāĻ°āĻž org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŋ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ¸ā§‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻāĻ‡āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš pom.xml āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ github.com/mrizzi/jboss-eap-quickstarts/blob/quarkus/helloworld/pom.xml.

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ mvn io.quarkus:quarkus-maven-plugin:0.23.2:create āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° pom.xml āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋ:

  • mvnw āĻāĻŦāĻ‚ mvnw.cmd āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ .mvn āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°: Maven Wrapper āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‡āĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ Maven āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° Maven āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • āĻĄāĻ•āĻžāĻ° āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° (src/main/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡): āĻāĻ¤ā§‡ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻŦāĻ‚ jvm āĻŽā§‹āĻĄā§‡āĻ° (.dockerignore āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš) āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ¸āĻŽā§āĻĒāĻĻ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° (src/main/ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡): āĻāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ application.properties āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŽā§āĻ¨āĻž Quarkus index.html āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻĒā§‡āĻœ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ†āĻ°ā§‹ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•ā§ƒāĻ¤ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ āĻĻā§‡āĻ–ā§āĻ¨)āĨ¤

āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨
āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž quarkus:dev āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ, āĻ¯āĻž āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸āĻ•ā§‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻŽā§‹āĻĄā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ (āĻ†āĻ°ā§‹ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻŽā§‹āĻĄ).

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻŸāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻŦā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋāĻ¨āĻŋā§ˇ

āĻāĻ–āĻ¨ āĻāĻŸāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨:

$ ./mvnw compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.jboss.eap.quickstarts:helloworld >----------------
[INFO] Building Quickstart: helloworld quarkus
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- quarkus-maven-plugin:0.23.2:dev (default-cli) @ helloworld ---
Listening for transport dt_socket at address: 5005
INFO  [io.qua.dep.QuarkusAugmentor] Beginning quarkus augmentation
INFO  [org.jbo.threads] JBoss Threads version 3.0.0.Final
ERROR [io.qua.dev.DevModeMain] Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type org.jboss.as.quickstarts.helloworld.HelloService and qualifiers [@Default]
	- java member: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService
	- declared on CLASS bean [types=[javax.servlet.ServletConfig, java.io.Serializable, org.jboss.as.quickstarts.helloworld.HelloWorldServlet, javax.servlet.GenericServlet, javax.servlet.Servlet, java.lang.Object, javax.servlet.http.HttpServlet], qualifiers=[@Default, @Any], target=org.jboss.as.quickstarts.helloworld.HelloWorldServlet]
	at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:841)
	at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:214)
	at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:106)
	at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:249)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:780)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:415)
	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2011)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1535)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
	at java.lang.Thread.run(Thread.java:748)
	at org.jboss.threads.JBossThread.run(JBossThread.java:479)
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type org.jboss.as.quickstarts.helloworld.HelloService and qualifiers [@Default]
	- java member: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService
	- declared on CLASS bean [types=[javax.servlet.ServletConfig, java.io.Serializable, org.jboss.as.quickstarts.helloworld.HelloWorldServlet, javax.servlet.GenericServlet, javax.servlet.Servlet, java.lang.Object, javax.servlet.http.HttpServlet], qualifiers=[@Default, @Any], target=org.jboss.as.quickstarts.helloworld.HelloWorldServlet]
	at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:428)
	at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:371)
	at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:206)
	... 14 more

āĻ¤ā§‹, āĻāĻŸāĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž... āĻ•ā§‡āĻ¨?

āĻ…āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ āĻ°ā§‡āĻœā§‹āĻ˛āĻŋāĻ‰āĻļāĻ¨ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽāĻŸāĻŋ HelloService āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŸāĻŋ HelloWorldServlet āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯ (āĻœāĻžāĻ­āĻž āĻ¸āĻĻāĻ¸ā§āĻ¯: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService)āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§‡ HelloWorldServlet-āĻāĻ° HelloService-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž (āĻ¯āĻĻāĻŋāĻ“ āĻāĻ‡ āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻ‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡)āĨ¤

āĻāĻŸāĻž āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ Quarkus āĻ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻĒāĻĄāĻŧā§āĻ¨ āĻ‰āĻĻā§āĻŦā§āĻĻā§āĻ§ āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨ (āĻ¸āĻŋāĻĄāĻŋāĻ†āĻ‡)āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨ āĻ—āĻžāĻ‡āĻĄ āĻ–ā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻļāĻŋāĻŽ āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ†āĻŽāĻ°āĻž āĻĒāĻĄāĻŧāĻŋ: "āĻāĻ•āĻŸāĻŋ āĻŽāĻŸāĻ°āĻļā§āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻļāĻŋāĻŽ-āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŸā§€āĻ•āĻž āĻ¨ā§‡āĻ‡ āĻ¤āĻž āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤"

āĻ†āĻ¸ā§āĻ¨ HelloService āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻĻā§‡āĻ–āĻŋ - āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŸā§€āĻ•āĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻļāĻŋāĻŽāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§‡āĻŸāĻ˛ā§‡āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻšāĻœā§‡āĻ‡ @ApplicationScoped āĻŸā§€āĻ•āĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻ­āĻžāĻŦā§‡:

@ApplicationScoped
public class HelloService {

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻāĻ–āĻžāĻ¨ā§‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ¨ā§€āĻšā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§‡āĻ–ā§āĻ¨), āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

import javax.enterprise.context.ApplicationScoped;

āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§€āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•ā§‹āĻ¨ āĻ¸ā§āĻ•ā§‹āĻĒāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ¨ā§āĻĻā§‡āĻš āĻĨāĻžāĻ•āĻ˛ā§‡, āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĒāĻĄāĻŧā§āĻ¨ JSR 365: āĻœāĻžāĻ­āĻž 2.0-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨â€”āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§āĻ¯ā§‹āĻ—.

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° ./mvnw compile quarkus:dev: āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋāĨ¤

$ ./mvnw compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.jboss.eap.quickstarts:helloworld >----------------
[INFO] Building Quickstart: helloworld quarkus
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /home/mrizzi/git/forked/jboss-eap-quickstarts/helloworld/target/classes
[INFO]
[INFO] --- quarkus-maven-plugin:0.23.2:dev (default-cli) @ helloworld ---
Listening for transport dt_socket at address: 5005
INFO  [io.qua.dep.QuarkusAugmentor] (main) Beginning quarkus augmentation
INFO  [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 576ms
INFO  [io.quarkus] (main) Quarkus 0.23.2 started in 1.083s. Listening on: http://0.0.0.0:8080
INFO  [io.quarkus] (main) Profile dev activated. Live Coding activated.
INFO  [io.quarkus] (main) Installed features: [cdi]

āĻāĻ–āĻ¨ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ.

āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•ā§ƒāĻ¤ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻ˛āĻ—ā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡, āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ–ā§āĻ˛ā§āĻ¨ 0.0.0.0:8080 (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻļā§āĻ°ā§ āĻĒā§ƒāĻˇā§āĻ āĻž) āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 4. āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻĄā§‡āĻ­ āĻļā§āĻ°ā§ āĻĒāĻžāĻ¤āĻžāĨ¤

āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ WebServlet āĻŸā§€āĻ•āĻžāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻ‚āĻœā§āĻžāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

@WebServlet("/HelloWorld")
public class HelloWorldServlet extends HttpServlet {

āĻ¤ā§‹ āĻšāĻ˛ā§āĻ¨ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ¯āĻžāĻ‡ 0.0.0.0:8080/HelloWorld āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 5: āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻĄā§‡āĻ­ āĻĒā§ƒāĻˇā§āĻ āĻžāĨ¤

āĻ“āĻ¯āĻŧā§‡āĻ˛, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡.

āĻāĻ–āĻ¨ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ ./mvnw āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ quarkus:dev āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻšāĻ˛āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻ•ā§‹āĻ¨ āĻ‡āĻšā§āĻ›āĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻ‡ - āĻ–ā§āĻŦāĻ‡ āĻ¤ā§āĻšā§āĻ› - āĻ•ā§‹āĻĄā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°ā§‡āĻ° āĻœā§€āĻŦāĻ¨āĻ•ā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡:

writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");

āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻŽāĻžāĻ°ā§āĻ•ā§‹ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ°āĻŋāĻĢā§āĻ°ā§‡āĻļ āĻ•āĻ°ā§āĻ¨, āĻ¨ā§€āĻšā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸: JBoss EAP Quickstart āĻĨā§‡āĻ•ā§‡ helloworld āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

āĻ­āĻžāĻ¤āĨ¤ 6. āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻĻā§‡āĻŦā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻŽāĻžāĻ°ā§āĻ•ā§‹ āĻĒā§ƒāĻˇā§āĻ āĻžāĨ¤

āĻāĻ–āĻ¨ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

INFO  [io.qua.dev] (vert.x-worker-thread-3) Changed source files detected, recompiling [/home/mrizzi/git/forked/jboss-eap-quickstarts/helloworld/src/main/java/org/jboss/as/quickstarts/helloworld/HelloWorldServlet.java]
INFO  [io.quarkus] (vert.x-worker-thread-3) Quarkus stopped in 0.003s
INFO  [io.qua.dep.QuarkusAugmentor] (vert.x-worker-thread-3) Beginning quarkus augmentation
INFO  [io.qua.dep.QuarkusAugmentor] (vert.x-worker-thread-3) Quarkus augmentation completed in 232ms
INFO  [io.quarkus] (vert.x-worker-thread-3) Quarkus 0.23.2 started in 0.257s. Listening on: http://0.0.0.0:8080
INFO  [io.quarkus] (vert.x-worker-thread-3) Profile dev activated. Live Coding activated.
INFO  [io.quarkus] (vert.x-worker-thread-3) Installed features: [cdi]
INFO  [io.qua.dev] (vert.x-worker-thread-3) Hot replace total time: 0.371s

āĻĒā§ƒāĻˇā§āĻ āĻž āĻ°āĻŋāĻĢā§āĻ°ā§‡āĻļ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸāĻĒ-āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¸āĻŦ āĻŽāĻžāĻ¤ā§āĻ° 0.371 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ "āĻ†āĻ˛ā§āĻŸā§āĻ°āĻž-āĻĢāĻžāĻ¸ā§āĻŸ āĻ¸āĻžāĻŦāĻŸāĻŽāĻŋāĻ• āĻœāĻžāĻ­āĻž")āĨ¤

āĻāĻ•āĻŸāĻŋ JAR āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻāĻ–āĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻŋ:

$ ./mvnw clean package

āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ /target āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻĻā§āĻŸāĻŋ JAR āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡: helloworld-.jar āĻĢāĻžāĻ‡āĻ˛, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻŽāĻŋāĻ¤ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¯āĻž Maven āĻŸāĻŋāĻŽā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ helloworld-runner.jar āĻĢāĻžāĻ‡āĻ˛, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ JARāĨ¤

āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻŦāĻžāĻ°-āĻœāĻžāĻ° āĻ¨āĻ¯āĻŧ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ /target/lib āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻ•āĻŸāĻŋ JAR āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž)āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻ‡ JARāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ JAR āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ /lib āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ JAR āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° MANIFEST.MF āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸-āĻĒāĻžāĻĨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ lib āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨā§‡āĻ•ā§‡ JAR-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ‰āĻŦāĻžāĻ°-āĻœāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻļāĻŋāĻ–āĻ¤ā§‡, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĄāĻŧā§āĻ¨ āĻ‰āĻŦāĻžāĻ°-āĻœāĻžāĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ.

JAR-āĻ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻž āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨

āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻœāĻžāĻ­āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° JAR āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

$ java -jar ./target/helloworld-<version>-runner.jar
INFO  [io.quarkus] (main) Quarkus 0.23.2 started in 0.673s. Listening on: http://0.0.0.0:8080
INFO  [io.quarkus] (main) Profile prod activated.
INFO  [io.quarkus] (main) Installed features: [cdi]

āĻāĻ‡ āĻ¸āĻŦ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ āĻ¯āĻžāĻ¨ 0.0.0.0:8080 āĻāĻŦāĻ‚ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻŽāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻœāĻžāĻ­āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻ˛ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ°āĻ“ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

GraalVM āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

1. āĻĨā§‡āĻ•ā§‡ GraalVM 19.2.0.1 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ github.com/oracle/graal/releases/tag/vm-19.2.0.1.

2. āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨:

$ tar xvzf graalvm-ce-linux-amd64-19.2.0.1.tar.gz

3. āĻ†āĻ¨āĻŸāĻžāĻ° āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¯āĻžāĻ¨āĨ¤

4. āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻ‡āĻŽā§‡āĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻŋāĻšā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨:

$ ./bin/gu install native-image

5. GRAALVM_HOME āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ§āĻžāĻĒ 2 āĻ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§āĻ¨:

$ export GRAALVM_HOME={untar-folder}/graalvm-ce-19.2.0.1)

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ OS-āĻ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻœāĻ¨ā§āĻ¯, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž - āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤.

āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĄāĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž - āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž: "āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ•āĻŽāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĨāĻžāĻ•āĻŦā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ JVM (āĻ…āĻĨāĻŦāĻž āĻŦāĻ°āĻ‚, āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ›ā§‡āĻāĻŸā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ) āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤"

āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻŽāĻžāĻ­ā§‡āĻ¨ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

$ ./mvnw package -Pnative

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻāĻ• āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻāĻŦāĻ‚ 10 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§‡āĻ—ā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ helloworld-āĻ°āĻžāĻ¨āĻžāĻ° f āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ /target āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¨ā§‡āĻŸāĻŋāĻ­ āĻšā§āĻ¯āĻžāĻ˛ā§‹āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨

āĻ†āĻ—ā§‡āĻ° āĻ§āĻžāĻĒā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ /target/helloworld—āĻ°āĻžāĻ¨āĻžāĻ°āĨ¤ āĻāĻ–āĻ¨ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ•:

$ ./target/helloworld-<version>-runner
INFO  [io.quarkus] (main) Quarkus 0.23.2 started in 0.006s. Listening on: http://0.0.0.0:8080
INFO  [io.quarkus] (main) Profile prod activated.
INFO  [io.quarkus] (main) Installed features: [cdi]

āĻ†āĻŦāĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ–ā§āĻ˛ā§āĻ¨ 0.0.0.0:8080 āĻāĻŦāĻ‚ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻŽāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻšāĻ˛āĻŦā§‡!

āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻ†āĻ˛ā§‹āĻšāĻŋāĻ¤ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻžāĻ¸ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻœāĻžāĻ­āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡āĻ“) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻŦā§‡āĻ¨, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§‹āĻ¸ā§āĻŸā§‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦ, āĻ¸āĻŽāĻ—ā§āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻ‚āĻļāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨