Molweni nonke kule bhlog, nantsi isithuba sesine kuthotho lweQuarkus!

yayimalunga nendlela iQuarkus edibanisa ngayo iMicroProfile kunye neNtwasahlobo. Masikhumbule oko ibekwe "njenge-Subatomic Java ekhawulezayo kakhulu", aka "Kubernetes-oriented Java stack, eyenzelwe iGraalVM kunye ne-OpenJDK HotSpot kwaye idityaniswe ukusuka kumathala eencwadi abalaseleyo kunye nemigangatho." Namhlanje siza kubonisa indlela yokwenza usetyenziso lweJava esele lukhona kusetyenziswa ubunakho beQuarkus, sisebenzisa umzekelo , esebenzisa iCDI kunye neServlet 3 itekhnoloji exhaswa yiQuarkus.
Kubalulekile ukuqaphela apha ukuba zombini iQuarkus kunye ne-JBoss EAP zigxininisa ukusebenzisa izixhobo ezisekelwe kwimigangatho kangangoko kunokwenzeka. Awunaso isicelo esisebenza kwi-JBoss EAP? Akukho ngxaki, inokufuduswa ngokulula ukusuka kwiseva yesicelo sakho yangoku ukuya kwi-JBoss EAP usebenzisa . Emva koko inguqulelo yokugqibela kunye nokusebenza yekhowudi yanamhlanje iya kufumaneka kwindawo yokugcina , kwimodyuli .
Xa sibhala le post sasisebenzisa , ubukhulu becala kunye noKwakha a .
Masifumane ikhowudi
Okokuqala, makhe senze iklone yendawo yokugcina :
$ 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/
Makhe sibone ukuba i-helloworld yokuqala isebenza njani
Ngokwenyani, undoqo wesi sicelo ucacile kwigama, kodwa siya kuyiphucula ikhowudi yayo ngokungqongqo ngokwesayensi. Ngoko ke, okokuqala, makhe sijonge esi sicelo kwimo yaso yokuqala.
Ukusasaza helloworld
1. Vula i-terminal kwaye uye kwingcambu ye-JBoss EAP ifolda (ungayikhuphela ), oko kukuthi, kwi EAP_HOME incwadi.
2. Qalisa iseva ye-JBoss EAP ngeprofayile engagqibekanga:
$ EAP_HOME/bin/standalone.sh
Qaphela: phezu Windows Iskripthi se-EAP_HOMEbinstandalone.bat sisetyenziselwa ukuqaliswa.
Emva kwemizuzwana embalwa, into enje kufuneka ivele kwilog:
[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. Vula kwibhrawuza :8080 kwaye sibona oku:

Irayisi. 1. Iphepha laseKhaya le-JBoss EAP.
4. Landela imiyalelo ekwincwadana yemigaqo : yandisa i-helloworld kwaye uqhube (ukusuka kwifolda yeprojekthi) lo myalelo ulandelayo:
$ mvn clean install wildfly:deploy
Emva kokuphumeza lo myalelo ngempumelelo, siza kubona into enje ngale kwilogi:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.224 s
Ke, ukuthunyelwa kokuqala kwesicelo se-helloworld kwi-JBoss EAP kuthathe ngaphezulu kwemizuzwana eyi-8.
Uvavanyo helloworld
Ukwenza ngokungqongqo ngokwemiyalelo , vula kwibhrawuza :8080/helloworld kwaye sibona oku:

Irayisi. 2. I-Original Molo World evela kwi-JBoss EAP.
Ukwenza utshintsho
Guqula ipharamitha yegalelo yenzaHelloMessage(Igama lomtya) ukusuka kwiLizwe ukuya kuMarco:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
Yenza lo myalelo ulandelayo kwakhona:
$ mvn clean install wildfly:deploy
Emva koko sihlaziya iphepha kwisikhangeli kwaye sibone ukuba isicatshulwa sitshintshile:

Irayisi. 3. Molo Marco e JBoss EAP.
Phinda ubuyisele ukuthunyelwa kwe-helloworld kwaye uvale i-JBoss EAP
Oku kukhetho, kodwa ukuba ufuna ukurhoxisa ukuthunyelwa, ungenza njalo ngalo myalelo ulandelayo:
$ mvn clean install wildfly:undeploy
Ukuvala umzekelo wakho we-JBoss EAP, cinezela ngokulula u-Ctrl+C kwifestile ye-terminal.
Ukuphucula i-helloworld
Ngoku masenze usetyenziso lwe-helloworld lwangoku.
Yenza isebe elitsha
Senza isebe elitsha elisebenzayo emva kokuba iprojekthi yokuqalisa ngokukhawuleza igqityiwe:
$ git checkout -b quarkus 7.2.0.GA
Ukutshintsha ifayile ye-pom.xml
Siza kuqalisa ukutshintsha usetyenziso kwifayile ye-pom.xml. Ukuvumela iQuarkus ukuba ifake iibhloko zeXML kuyo, sebenzisa lo myalelo ulandelayo kwifolda ye-helloworld:
$ mvn io.quarkus:quarkus-maven-plugin:0.23.2:create
Xa ubhala eli nqaku, kwasetyenziswa uguqulelo 0.23.2. I-Quarkus ihlala ikhupha iinguqulelo ezintsha, unokufumanisa ukuba yeyiphi inguqulelo yamva nje kwiwebhusayithi .
Lo myalelo ungasentla uzakufaka ezi zinto zilandelayo kwi-pom.xml:
- Ipropati , echaza uguqulelo lweQuarkus oluza kusetyenziswa.
- Vimba ukungenisa i-Quarkus BOM (i-bill of materials), ukuze ungongezi inguqulelo yokuxhomekeka kweQuarkus nganye.
- I-quarkus-maven-plugin inoxanduva lokupakisha isicelo kunye nokubonelela ngemodi yophuhliso.
- Inkangeleko yemveli yokwenza izicelo eziphunyeziweyo.
Ukongeza, senza ngesandla olu tshintsho lulandelayo kwi-pom.xml:
- Ukukhupha ithegi ukusuka kwibhloko kwaye uyibeke ngaphezulu kwethegi . Kuba kwisinyathelo esilandelayo siya kususa ibhloko , emva koko kufuneka ugcine .
- Ukususa ibhloko , kuba xa usebenza neQuarkus, esi sicelo asisayi kufuna ipom yomzali evela kwi-JBoss.
- Yongeza ithegi kwaye uyibeke phantsi kwethegi . Ungakhankanya inombolo yoguqulelo oyifunayo.
- Ukususa ithegi , ekubeni esi sicelo ayiseyo-WAR, kodwa i-JAR eqhelekileyo.
- Silungisa ezi xhomekeko zilandelayo:
- Guqula uxhomekeko javax.enterprise:cdi-api ukuya io.quarkus:quarkus-arc, ukususa kubonelelwe , kuba (ngokwamaxwebhu) olu lwandiso lweQuarkus lubonelela ngesitofu sokuxhomekeka kweCDI.
- Guqula ukuxhomekeka ku-org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec ukuya ku-io.quarkus:quarkus-undertow, ukususa kubonelelwe , kuba (ngokwamaxwebhu) olu lwandiso lweQuarkus lubonelela ngenkxaso yeeservlets.
- Sisusa i-org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec ukuxhomekeka ekubeni iza nokuxhomekeka esisandula ukuyitshintsha.
Uguqulelo lwefayile ye pom.xml nalo lonke utshintsho lubekwe apha .
Qaphela ukuba i-mvn io.quarkus:quarkus-maven-plugin:0.23.2:dala umyalelo ongasentla ayitshintshi kuphela ifayile ye-pom.xml, kodwa yongeza inani lamacandelo kwiprojekthi, ezizezi fayile zilandelayo kunye neefolda:
- Ifayile ye mvnw kunye ne mvnw.cmd kunye ne .mvn incwadi eneenkcukacha: I Maven Wrapper ikuvumela ukuba usebenzise iiprojekthi ze Maven zoguqulelo olunikiweyo lwe Maven ngaphandle kokufaka olo guqulelo.
- Ulawulo lweDocker (kwi-src/engundoqo/ ulawulo): Oku kuqulathe umzekelo weeDockerfiles zeendlela zomthonyama kunye nejvm (kunye nefayile ye.dockerignore).
- Isiqulathi seefayili zemithombo (kwi-src/engundoqo/ ulawulo): Oku kuqulathe ifayile engenanto.
Qalisa helloworld
Ukuvavanya isicelo, sisebenzisa i-quarkus:dev, eqalisa iQuarkus kwindlela yophuhliso (ukufumana iinkcukacha ezithe vetshe, bona eli candelo kwincwadana yemigaqo. ).
Qaphela: Eli nyathelo liza kubangela impazamo kulindelekile, kuba singekalwenzi lonke utshintsho oluyimfuneko.
Ngoku makhe siqhube umyalelo ukuze sibone ukuba isebenza njani:
$ ./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
Ngoko, ayisebenzi ... Kutheni?
I-UnsatisfiedResolutionException ikhomba kwiklasi ye-HelloService, elilungu leklasi ye-HelloWorldServlet (ilungu le-java: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService). Ingxaki kukuba i-HelloWorldServlet idinga umzekelo otofweyo we-HelloService, kwaye ayifumaneki (nangona zombini ezi ndidi zikwiphakheji enye).
Lixesha lokubuyela ku kwaye ufunde indlela esebenza ngayo kwiQuarkus , kwaye ke (CDI). Ke ngoko, vula iSikhokelo seMixholo kunye neSitofu sokuxhomekeka nakwicandelo sifunda oku: “Udidi lwembotyi olungenawo amagama achaza iimbotyi alukhangelwa.”
Makhe sijonge iklasi ye-HelloService - ayinaso isichasiselo esinjalo. Ke ngoko, kufuneka yongezwe ukuze iQuarkus ikhangele kwaye ifumane imbotyi. Kwaye kuba le iyinto engenammiselo, singongeza ngokulula i-@ApplicationScoped isichasiselo ngolu hlobo:
@ApplicationScoped
public class HelloService {
Qaphela: apha imeko-bume yophuhliso inokukucela ukuba wongeze umqulu ofunekayo (bona umgca ongezantsi), kwaye kuya kufuneka wenze oku ngesandla, ngolu hlobo:
import javax.enterprise.context.ApplicationScoped;
Ukuba uyathandabuza malunga nokuba ngowuphi umda ekufuneka usetyenziswe kwimeko xa ingachazwanga kwimbotyi yemvelaphi kwaphela, funda uxwebhu. .
Ngoku siphinda sizama ukusungula isicelo ngomyalelo ./mvnw qokelela 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]
Ngoku yonke into ihamba ngaphandle kweempazamo.
Ukwazisa i-helloworld yale mihla
Njengoko kubhaliwe kwilog, yivule kwibhrawuza :8080 (iphepha lokuqala leQuarkus elingagqibekanga) kwaye sibona oku:

Irayisi. 4. Iphepha lokuqala leQuarkus dev.
Inkcazo yeWebServlet yesi sicelo iqulathe le nkcazelo yomxholo ilandelayo:
@WebServlet("/HelloWorld")
public class HelloWorldServlet extends HttpServlet {
Ke ngoko, siya kwibhrawuza ukuya :8080/HelloWorld kwaye sibona oku kulandelayo:

Irayisi. I-5: Iphepha le-Quarkus dev le-Molo World application.
Ewe, yonke into iyasebenza.
Ngoku masenze utshintsho kwikhowudi. Qaphela ukuba i ./mvnw qokelela quarkus:dev umyalelo usasebenza kwaye asinanjongo yokuyimisa. Ngoku makhe sizame ukusebenzisa okufanayo - kuncinci kakhulu - utshintsho kwikhowudi ngokwayo kwaye sibone indlela iQuarkus eyenza ngayo ubomi bube lula kumphuhlisi:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
Gcina ifayile kwaye emva koko uhlaziye iphepha lewebhu ukuze ubone Hello Marco, njengoko kubonisiwe kumfanekiso wekhusi ongezantsi:

Irayisi. 6. Molo Marco iphepha e Quarkus dev.
Ngoku makhe sijonge imveliso kwi-terminal:
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
Ukuhlaziywa kwephepha kubangele ukufunyanwa kweenguqu kwikhowudi yomthombo, kwaye i-Quarkus yenza ngokuzenzekelayo inkqubo yokuyeka ukuqala. Kwaye konke oku kugqitywe ngemizuzwana eyi-0.371 (nantsi ke, ukuba "iJava ye-subatomic ekhawulezayo kakhulu").
Ukwakha i-helloworld kwiphakheji ye-JAR
Ngoku ukuba ikhowudi isebenza njengoko kufanelekile, masiyipakishe ngalo myalelo ulandelayo:
$ ./mvnw clean package
Lo myalelo udala iifayile ezimbini zeJAR kwi/ifolda ekujoliswe kuyo: i-helloworld-.jar ifayile, eyi-artifact eqhelekileyo ehlanganiswe liqela leMaven kunye neeklasi zeprojekthi kunye nezixhobo. Kwaye ifayile ye-helloworld-runner.jar, eyi-JAR ephunyeziweyo.
Nceda qaphela ukuba oku ayisiyiyo i-uber-jar, kuba zonke izixhomekeke zikhutshelwa ngokulula kwi/target/lib ifolda (engapakishwanga kwifayile yeJAR). Ngoko ke, ukuze usebenzise le JAR ukusuka kwenye ifolda okanye kwenye inginginya, kufuneka ukhuphele zombini ifayile yeJAR ngokwayo kunye ne/lib ifolda apho, unikwe ukuba iNdlela yeNdlela yeKlasi kwifayile ye MANIFEST.MF kwiphakheji yeJAR iqulethe. Uluhlu olucacileyo lwee-JAR ukusuka kwiifolda ze-lib
Ukufunda ukwenza usetyenziso lwe-uber-jar, nceda ujonge kwisifundo .
Yazisa i-helloworld epakishwe kwi-JAR
Ngoku sinokuqhuba i-JAR yethu sisebenzisa umyalelo oqhelekileyo we-java:
$ 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]
Emva kokuba konke oku kwenziwe, yiya kwisikhangeli sakho ku : 8080 kwaye khangela ukuba yonke into isebenza njengoko kufanele.
Ukuqulunqa i-helloworld kwifayile yemveli ephunyeziweyo
Ke i-helloworld yethu isebenza njengesicelo esizimeleyo seJava sisebenzisa ukuxhomekeka kweQuarkus. Kodwa ungaya phambili kwaye uyijike ibe yifayile yemveli ephunyeziweyo.
Ukufakela iGraalVM
Okokuqala, kule nto kufuneka ufake izixhobo eziyimfuneko:
1. Khuphela iGraalVM 19.2.0.1 ukusuka .
2. Yandisa indawo yokugcina ekhutshelweyo:
$ tar xvzf graalvm-ce-linux-amd64-19.2.0.1.tar.gz
3. Yiya kwifolda ye-untar.
4. Sebenzisa lo myalelo ungezantsi ukukhuphela kwaye wongeze umfanekiso wemveli:
$ ./bin/gu install native-image
5. Bhalisa isiqulathi seefayili esenziwe kwinyathelo lesi-2 ukuya kuguqulo lwemeko-bume ye-GRALVM_HOME:
$ export GRAALVM_HOME={untar-folder}/graalvm-ce-19.2.0.1)
Ngolwazi oluthe kratya kunye nemiyalelo yokufakela kwezinye ii-OS, bona incwadana yemigaqo .
Ukwakha i-helloworld kwifayile yemveli ephunyeziweyo
Ukufunda le ncwadana : “Ngoku makhe senze ifayile yemveli ephunyezwayo kwisicelo sethu ukunciphisa ixesha lokuqaliswa kwayo kunye nobungakanani bediski. Ifayile ephunyezwayo iya kuba nayo yonke into eyimfuneko ukuqhuba isicelo, kubandakanya i-JVM (okanye endaweni yoko, inguqulelo yayo ecuthiweyo, equlathe kuphela into efunekayo ukuqhuba isicelo) kunye nesicelo sethu ngokwaso.
Ukwenza ifayile yemveli ephunyezwayo, kufuneka wenze iprofayile yaseMaven:
$ ./mvnw package -Pnative
Ukwakhiwa kwethu kuthathe umzuzu omnye kunye nemizuzwana ye-10, kwaye ifayile yokugqibela ye-helloworld-runner f yenziwa kwifolda / ekujoliswe kuyo.
Qhuba ihelloworld yendalo ephunyeziweyo
Kwinqanaba elidlulileyo, sifumene ifayile ephunyeziweyo /target/helloworld-runner. Ngoku masiyiqhube:
$ ./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]
Yivule kwibhrawuza kwakhona : 8080 kwaye khangela ukuba yonke into isebenza njengoko kufanele.
Iza kuqhubeka!
Sikholelwa ukuba indlela yokuphucula usetyenziso lweJava usebenzisa izakhono zeQuarkus ezixoxwe kwesi sithuba (nangona kusetyenziswa umzekelo olula) kufuneka isetyenziswe ngenkuthalo kubomi bokwenyani. Ngokwenza njalo, uya kudibana nenani leengxaki, esiza kujongana nazo ngokuyinxenye kwisithuba esilandelayo, apho siza kuthetha malunga nendlela yokulinganisa ukusetyenziswa kwememori ukuvavanya ukuphuculwa komsebenzi, inxalenye ebalulekileyo yenkqubo yonke yenkqubo yokuphucula isicelo.
umthombo: www.habr.com
