āĻāĻ āĻŦā§āĻ˛āĻā§ āĻ¸āĻŦāĻžāĻāĻā§ āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻāĻžāĻ¨ā§ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻ¸āĻŋāĻ°āĻŋāĻā§āĻ° āĻāĻ¤ā§āĻ°ā§āĻĨ āĻĒā§āĻ¸ā§āĻ!
āĻāĻāĻžāĻ¨ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§ Quarkus āĻāĻŦāĻ JBoss EAP āĻāĻāĻ¯āĻŧāĻ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻŽāĻžāĻ¨-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻĒāĻ° āĻā§āĻ° āĻĻā§āĻ¯āĻŧāĨ¤ JBoss EAP āĻ āĻāĻ˛āĻŽāĻžāĻ¨ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¨ā§āĻ? āĻā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨ā§āĻ, āĻāĻāĻŋ āĻ¸āĻšāĻā§āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĨā§āĻā§ 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 āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĻ° āĻ°ā§āĻā§ āĻ¯āĻžāĻ¨ (āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
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. āĻāĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛ā§āĻ¨ā§ˇ
āĻāĻžāĻ¤āĨ¤ 1. JBoss EAP āĻšā§āĻŽ āĻĒā§āĻāĨ¤
4. āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨
$ mvn clean install wildfly:deploy
āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ˛āĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦ:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.224 s
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, JBoss EAP-āĻ¤ā§ āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§ āĻŽāĻžāĻ¤ā§āĻ° 8 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛ā§āĻā§āĻā§āĨ¤
āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻž āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻž
āĻāĻžāĻ¤āĨ¤ 2. JBoss EAP āĻĨā§āĻā§ āĻāĻ¸āĻ˛ āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄāĨ¤
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž
āĻāĻ¨āĻĒā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° createHelloMessage(āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨āĻžāĻŽ) āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻĨā§āĻā§ āĻŽāĻžāĻ°ā§āĻā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻŦāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨:
$ mvn clean install wildfly:deploy
āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¯ā§ āĻĒāĻžāĻ ā§āĻ¯āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§:
āĻāĻžāĻ¤āĨ¤ 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 āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻĒāĻ°ā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ pom.xml-āĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻŦā§:
- āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ , āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĨ¤
- āĻŦā§āĻ˛āĻ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻŦāĻŋāĻāĻāĻŽ (āĻ¸āĻžāĻŽāĻā§āĻ°ā§āĻ° āĻŦāĻŋāĻ˛) āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§, āĻ¯āĻžāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¯ā§āĻā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
- quarkus-maven-plugin āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļ āĻŽā§āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§āĨ¤
- āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻāĻŋāĻ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĨ¤
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ pom.xml-āĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻ°āĻŋ:
- āĻā§āĻ¯āĻžāĻ āĻāĻžāĻ¨āĻž āĻšāĻā§āĻā§ āĻŦā§āĻ˛āĻ āĻĨā§āĻā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻĒāĻ°ā§ āĻ°āĻžāĻā§āĻ¨ . āĻāĻžāĻ°āĻŖ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ˛āĻāĻāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻŦ , āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ .
- āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ , āĻāĻžāĻ°āĻŖ Quarkus āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻāĻ° JBoss āĻĨā§āĻā§ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻĒā§āĻŽā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§ āĻ¨āĻžāĨ¤
- āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤āĻāĻ° āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻā§āĻ° āĻ¨ā§āĻā§ āĻ°āĻžāĻā§āĻ¨ . āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻžāĻ¨ āĻ¤āĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
- āĻā§āĻ¯āĻžāĻ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§ , āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻ° āĻāĻāĻāĻŋ āĻ¯ā§āĻĻā§āĻ§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ JARāĨ¤
- āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻŋ:
- āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž javax.enterprise:cdi-api āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ io.quarkus:quarkus-arc, āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ , āĻ¯ā§āĻšā§āĻ¤ā§ (āĻĄāĻā§āĻ¸ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§) āĻāĻ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ CDI āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻāĻ¨āĻā§āĻāĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
- āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ io.quarkus:quarkus-undertow, āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ , āĻāĻžāĻ°āĻŖ (āĻĄāĻā§āĻ¸ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§) āĻāĻ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ˛ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
- āĻāĻŽāĻ°āĻž org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŋ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¸ā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš 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-āĻāĻ° āĻāĻāĻāĻŋ āĻāĻ¨āĻā§āĻāĻļāĻ¨ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻāĻāĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž (āĻ¯āĻĻāĻŋāĻ āĻāĻ āĻāĻāĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¸ āĻāĻāĻ āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻ°āĻ¯āĻŧā§āĻā§)āĨ¤
āĻāĻāĻž āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
āĻāĻ¸ā§āĻ¨ HelloService āĻā§āĻ˛āĻžāĻ¸āĻāĻŋ āĻĻā§āĻāĻŋ - āĻāĻāĻŋāĻ¤ā§ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻāĻž āĻ¨ā§āĻāĨ¤ āĻ āĻ¤āĻāĻŦ, āĻāĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻļāĻŋāĻŽāĻāĻŋ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻāĻ˛ā§āĻ¸ āĻ āĻŦāĻā§āĻā§āĻ, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ¸āĻšāĻā§āĻ @ApplicationScoped āĻā§āĻāĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻāĻžāĻŦā§:
@ApplicationScoped
public class HelloService {
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻāĻāĻžāĻ¨ā§ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¨ā§āĻā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻĻā§āĻā§āĻ¨), āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻāĻāĻžāĻŦā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
import javax.enterprise.context.ApplicationScoped;
āĻ¸ā§āĻ°ā§āĻ¸ āĻŦā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻā§āĻ¨ āĻ¸ā§āĻā§āĻĒāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻ¨ā§āĻĻā§āĻš āĻĨāĻžāĻāĻ˛ā§, āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĒāĻĄāĻŧā§āĻ¨
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻŦāĻžāĻ° ./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]
āĻāĻāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻžāĻĄāĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ.
āĻāĻ§ā§āĻ¨āĻŋāĻā§āĻā§āĻ¤ āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ˛āĻā§ āĻ¯ā§āĻŽāĻ¨ āĻ˛ā§āĻāĻž āĻāĻā§, āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛ā§āĻ¨
āĻāĻžāĻ¤āĨ¤ 4. āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻĄā§āĻ āĻļā§āĻ°ā§ āĻĒāĻžāĻ¤āĻžāĨ¤
āĻāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ WebServlet āĻā§āĻāĻžāĻāĻŋāĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ¸āĻā§āĻ āĻ¸āĻāĻā§āĻāĻž āĻ°āĻ¯āĻŧā§āĻā§:
@WebServlet("/HelloWorld")
public class HelloWorldServlet extends HttpServlet {
āĻ¤ā§ āĻāĻ˛ā§āĻ¨ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ¯āĻžāĻ
āĻāĻžāĻ¤āĨ¤ 5: āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻĄā§āĻ āĻĒā§āĻˇā§āĻ āĻžāĨ¤
āĻāĻ¯āĻŧā§āĻ˛, āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°ā§.
āĻāĻāĻ¨ āĻā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ. āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ ./mvnw āĻāĻŽā§āĻĒāĻžāĻāĻ˛ quarkus:dev āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻ˛āĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻāĻā§āĻāĻž āĻ¨ā§āĻāĨ¤ āĻāĻāĻ¨ āĻāĻ¸ā§āĻ¨ āĻāĻāĻ - āĻā§āĻŦāĻ āĻ¤ā§āĻā§āĻ - āĻā§āĻĄā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°ā§āĻ° āĻā§āĻŦāĻ¨āĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻšā§āĻ¯āĻžāĻ˛ā§ āĻŽāĻžāĻ°ā§āĻā§ āĻĻā§āĻāĻ¤ā§ āĻāĻ¯āĻŧā§āĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻāĻ°ā§āĻ¨, āĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§:
āĻāĻžāĻ¤āĨ¤ 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]
āĻāĻ āĻ¸āĻŦ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ āĻ¯āĻžāĻ¨
āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ā§ āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ˛ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
GraalVM āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
1. āĻĨā§āĻā§ GraalVM 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-āĻ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻāĻŋ āĻĻā§āĻā§āĻ¨
āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ā§ āĻšā§āĻ¯āĻžāĻ˛ā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĄāĻŧāĻž
āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻŋāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨ā§āĻāĻŋāĻ āĻŽāĻžāĻā§āĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
$ ./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]
āĻāĻŦāĻžāĻ° āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛ā§āĻ¨
āĻāĻ˛āĻŦā§!
āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻ āĻĒā§āĻ¸ā§āĻā§ āĻāĻ˛ā§āĻāĻŋāĻ¤ āĻā§āĻ¯āĻŧāĻžāĻ°ā§āĻāĻžāĻ¸ āĻā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻžāĻāĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ§ā§āĻ¨āĻŋāĻā§āĻāĻ°āĻŖā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ˛ā§āĻ) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻā§āĻŦāĻ¨ā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻŦā§āĻ¨, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ¸ā§āĻā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻŦ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻ°ā§āĻ¯āĻā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻāĻžāĻŦā§ āĻŽā§āĻŽāĻ°āĻŋ āĻāĻ°āĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦ, āĻ¸āĻŽāĻā§āĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ§ā§āĻ¨āĻŋāĻā§āĻāĻ°āĻŖ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ
āĻāĻļāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com