Рубрики
Без рубрики

Пример Maven + Кварки Привет, Мир

В этой статье показано, как использовать плагин Quarks Maven для создания или создания простого проекта Quark JAX-RS hello world.

В этой статье показано, как использовать quarks-maven-плагин для создания или создания проекта Maven +Quarks JAX-RS hello world.

Используемые технологии:

  • Кваркус 1.11.0
  • Мавен 3.6.3
  • Java 11

Темы

  1. Создание нового проекта Maven + Quartus
  2. Структура проекта Maven + Кварки
  3. Кварки и pom.xml
  4. Зависимости кварков
  5. Конечная точка кварков JAX-RX
  6. Кварки и док-файл
  7. Запуск кварков в режиме разработки
  8. Скачать Исходный Код
  9. Рекомендации

1. Создание нового проекта Maven + Quartus

Мы можем использовать quarks-maven-плагин для создания проекта Quarkus JAX-RS.

1.1 Для систем Linux и macOS.

mvn io.quarkus:quarkus-maven-plugin:1.11.0.Final:create \
    -DprojectGroupId=com.mkyong \
    -DprojectArtifactId=quarkus-hello-world-maven \
    -DclassName="com.mkyong.quarkus.HelloResource" \
    -Dpath="/hello"

1.2 Для Windows, cmd или командная строка, замените новую строку \ с помощью ^ .

mvn io.quarkus:quarkus-maven-plugin:1.11.0.Final:create ^
    -DprojectGroupId=com.mkyong ^
    -DprojectArtifactId=quarkus-hello-world-maven ^
    -DclassName="com.mkyong.quarkus.HelloResource" ^
    -Dpath="/hello"  

Выход

-----------
[INFO]
[INFO] ========================================================================================
[INFO] Your new application has been created in C:\Users\mkyong\projects\quarkus\quarkus-hello-world-maven
[INFO] Navigate into this directory and launch your application with mvn quarkus:dev
[INFO] Your application will be accessible on http://localhost:8080
[INFO] ========================================================================================
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.774 s
[INFO] Finished at: 2021-01-26T13:25:14+08:00
[INFO] ------------------------------------------------------------------------

2. Структура проекта Maven + Кварки

Команда выше создала новый проект с именем quarks-hello-world-maven и создает следующие файлы и каталоги:

  • Стандартная структура каталогов Maven.
  • Мавен pom.xml и связанная с ним обертка.
  • HelloResource.java для /привет конечной точки.
  • Модульные тесты.
  • Целевая страница resources\META-INF\resources\index.html для http://localhost:8080
  • Dockerfile файлы, для jvm или собственного режима.
  • Файл конфигурации приложения, application.properties .
> cd quarkus-hello-world-maven

C:\Users\mkyong\projects\quarkus\quarkus-hello-world-maven> tree /F
Folder PATH listing
Volume serial number is A446-18E6
C:.
â"'   .dockerignore
â"'   .gitignore
â"'   mvnw
â"'   mvnw.cmd
â"'   pom.xml
â"'   README.md
â"'
â"œâ"€â"€â"€.idea
â"'       misc.xml
â"'       vcs.xml
â"'       workspace.xml
â"'
â"œâ"€â"€â"€.mvn
â"'   â""â"€â"€â"€wrapper
â"'           maven-wrapper.properties
â"'           MavenWrapperDownloader.java
â"'
â""â"€â"€â"€src
  â"œâ"€â"€â"€main
  â"'   â"œâ"€â"€â"€docker
  â"'   â"'       Dockerfile.fast-jar
  â"'   â"'       Dockerfile.jvm
  â"'   â"'       Dockerfile.native
  â"'   â"'
  â"'   â"œâ"€â"€â"€java
  â"'   â"'   â""â"€â"€â"€com
  â"'   â"'       â""â"€â"€â"€mkyong
  â"'   â"'           â""â"€â"€â"€quarkus
  â"'   â"'                   HelloResource.java
  â"'   â"'
  â"'   â""â"€â"€â"€resources
  â"'       â"'   application.properties
  â"'       â"'
  â"'       â""â"€â"€â"€META-INF
  â"'           â""â"€â"€â"€resources
  â"'                   index.html
  â"'
  â""â"€â"€â"€test
      â""â"€â"€â"€java
          â""â"€â"€â"€com
              â""â"€â"€â"€mkyong
                  â""â"€â"€â"€quarkus
                          HelloResourceTest.java
                          NativeHelloResourceIT.java

3. Кварки и pom.xml

Просмотрите сгенерированный pom.xml файл.

3.1 Проект Quarks JAX-RS требовал только двух зависимостей: кварки-дуга и кваркус-resteasy . ((Переходные зависимости огромны, читайте ниже для полных зависимостей кварков ).


  
    io.quarkus
    quarkus-arc
  
  
    io.quarkus
    quarkus-resteasy
  

Кварки используют JUnit 5 и REST-assured для модульных тестов.


  
    io.quarkus
    quarkus-junit5
    test
  
  
    io.rest-assured
    rest-assured
    test
  

Полный pom.xml .



  4.0.0
  com.mkyong
  quarkus-hello-world-maven
  1.0.0-SNAPSHOT
  
    2.22.1
    11
    1.11.0.Final
    11
    UTF-8
    quarkus-universe-bom
    UTF-8
    true
    1.11.0.Final
    3.8.1
    io.quarkus
  
  
    
      
        ${quarkus.platform.group-id}
        ${quarkus.platform.artifact-id}
        ${quarkus.platform.version}
        pom
        import
      
    
  
  
    
      io.quarkus
      quarkus-arc
    
    
      io.quarkus
      quarkus-resteasy
    
    
      io.quarkus
      quarkus-junit5
      test
    
    
      io.rest-assured
      rest-assured
      test
    
  
  
    
      
        io.quarkus
        quarkus-maven-plugin
        ${quarkus-plugin.version}
        true
        
          
            
              build
              generate-code
              generate-code-tests
            
          
        
      
      
        maven-compiler-plugin
        ${compiler-plugin.version}
      
      
        maven-surefire-plugin
        ${surefire-plugin.version}
        
          
            org.jboss.logmanager.LogManager
            ${maven.home}
          
        
      
    
  
  
    
      native
      
        
          native
        
      
      
        
          
            maven-failsafe-plugin
            ${surefire-plugin.version}
            
              
                
                  integration-test
                  verify
                
                
                  
                    ${project.build.directory}/${project.build.finalName}-runner
                    org.jboss.logmanager.LogManager
                    ${maven.home}
                  
                
              
            
          
        
      
      
        native
      
    
  

4. Зависимости кварков

4.1 Просмотрите полные зависимости проекта для проекта по умолчанию Quarks JAX-RS.

Основные технологии Кварков:

Для тестирования:

  • Кварки использует JUnit 5 для тестирования.
  • Кварки используют будьте уверены для тестирования конечных точек HTTP.

4.2 Представление зависимостей проекта в IntelliJ IDEA.

4.3 Команда Maven зависимость: дерево для просмотра полных зависимостей проекта (длинный список) в текстовом формате.

C:\Users\mkyong\projects\quarkus\quarkus-hello-world-maven>mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.mkyong:quarkus-hello-world-maven >----------------
[INFO] Building quarkus-hello-world-maven 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ quarkus-hello-world-maven ---
[INFO] com.mkyong:quarkus-hello-world-maven:jar:1.0.0-SNAPSHOT
[INFO] +- io.quarkus:quarkus-arc:jar:1.11.0.Final:compile
[INFO] |  +- io.quarkus.arc:arc:jar:1.11.0.Final:compile
[INFO] |  |  +- jakarta.enterprise:jakarta.enterprise.cdi-api:jar:2.0.2:compile
[INFO] |  |  |  +- jakarta.el:jakarta.el-api:jar:3.0.3:compile
[INFO] |  |  |  \- jakarta.interceptor:jakarta.interceptor-api:jar:1.2.5:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  |  +- jakarta.transaction:jakarta.transaction-api:jar:1.3.3:compile
[INFO] |  |  \- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] |  +- io.quarkus:quarkus-core:jar:1.11.0.Final:compile
[INFO] |  |  +- jakarta.inject:jakarta.inject-api:jar:1.0:compile
[INFO] |  |  +- io.quarkus:quarkus-ide-launcher:jar:1.11.0.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-development-mode-spi:jar:1.11.0.Final:compile
[INFO] |  |  +- io.smallrye.config:smallrye-config:jar:1.10.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-annotation:jar:1.5.0:compile
[INFO] |  |  |  +- io.smallrye.config:smallrye-config-common:jar:1.10.0:compile
[INFO] |  |  |  |  \- org.eclipse.microprofile.config:microprofile-config-api:jar:1.4:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-expression:jar:1.5.0:compile
[INFO] |  |  |  |  \- io.smallrye.common:smallrye-common-function:jar:1.5.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-constraint:jar:1.5.0:compile
[INFO] |  |  |  \- io.smallrye.common:smallrye-common-classloader:jar:1.5.0:compile
[INFO] |  |  +- org.jboss.logmanager:jboss-logmanager-embedded:jar:1.0.6:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging-annotations:jar:2.2.0.Final:compile
[INFO] |  |  +- org.jboss.threads:jboss-threads:jar:3.2.0.Final:compile
[INFO] |  |  +- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] |  |  +- org.jboss.slf4j:slf4j-jboss-logmanager:jar:1.1.0.Final:compile
[INFO] |  |  +- org.graalvm.sdk:graal-sdk:jar:20.3.0:compile
[INFO] |  |  +- org.wildfly.common:wildfly-common:jar:1.5.4.Final-format-001:compile
[INFO] |  |  \- io.quarkus:quarkus-bootstrap-runner:jar:1.11.0.Final:compile
[INFO] |  \- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.0.1:compile
[INFO] +- io.quarkus:quarkus-resteasy:jar:1.11.0.Final:compile
[INFO] |  +- io.quarkus:quarkus-vertx-http:jar:1.11.0.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-security-runtime-spi:jar:1.11.0.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:jar:1.11.0.Final:compile
[INFO] |  |  +- io.quarkus.security:quarkus-security:jar:1.1.3.Final:compile
[INFO] |  |  |  \- io.smallrye.reactive:mutiny:jar:0.12.5:compile
[INFO] |  |  |     \- org.reactivestreams:reactive-streams:jar:1.0.3:compile
[INFO] |  |  +- io.quarkus:quarkus-vertx-core:jar:1.11.0.Final:compile
[INFO] |  |  |  +- io.quarkus:quarkus-netty:jar:1.11.0.Final:compile
[INFO] |  |  |  |  +- io.netty:netty-codec:jar:4.1.49.Final:compile
[INFO] |  |  |  |  \- io.netty:netty-handler:jar:4.1.49.Final:compile
[INFO] |  |  |  \- io.vertx:vertx-core:jar:3.9.5:compile
[INFO] |  |  |     +- io.netty:netty-common:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-buffer:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-transport:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-handler-proxy:jar:4.1.49.Final:compile
[INFO] |  |  |     |  \- io.netty:netty-codec-socks:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-codec-http:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-codec-http2:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-resolver:jar:4.1.49.Final:compile
[INFO] |  |  |     +- io.netty:netty-resolver-dns:jar:4.1.49.Final:compile
[INFO] |  |  |     |  \- io.netty:netty-codec-dns:jar:4.1.49.Final:compile
[INFO] |  |  |     \- com.fasterxml.jackson.core:jackson-core:jar:2.11.3:compile
[INFO] |  |  \- io.vertx:vertx-web:jar:3.9.5:compile
[INFO] |  |     +- io.vertx:vertx-web-common:jar:3.9.5:compile
[INFO] |  |     +- io.vertx:vertx-auth-common:jar:3.9.5:compile
[INFO] |  |     \- io.vertx:vertx-bridge-common:jar:3.9.5:compile
[INFO] |  \- io.quarkus:quarkus-resteasy-server-common:jar:1.11.0.Final:compile
[INFO] |     +- io.quarkus:quarkus-resteasy-common:jar:1.11.0.Final:compile
[INFO] |     |  +- org.jboss.resteasy:resteasy-core:jar:4.5.8.SP1:compile
[INFO] |     |  |  +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:2.0.1.Final:compile
[INFO] |     |  |  +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:2.0.0.Final:compile
[INFO] |     |  |  +- org.jboss.resteasy:resteasy-core-spi:jar:4.5.8.SP1:compile
[INFO] |     |  |  \- com.ibm.async:asyncutil:jar:0.1.0:compile
[INFO] |     |  \- com.sun.activation:jakarta.activation:jar:1.2.1:compile
[INFO] |     \- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] +- io.quarkus:quarkus-junit5:jar:1.11.0.Final:test
[INFO] |  +- io.quarkus:quarkus-bootstrap-core:jar:1.11.0.Final:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-app-model:jar:1.11.0.Final:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-maven-resolver:jar:1.11.0.Final:test
[INFO] |  |  |  +- org.apache.maven:maven-embedder:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-settings:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-core:jar:3.6.3:test
[INFO] |  |  |  |  |  +- org.apache.maven:maven-artifact:jar:3.6.3:test
[INFO] |  |  |  |  |  \- org.codehaus.plexus:plexus-component-annotations:jar:2.1.0:test
[INFO] |  |  |  |  +- org.apache.maven:maven-plugin-api:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model-builder:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-builder-support:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-api:jar:1.4.1:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-util:jar:1.4.1:test
[INFO] |  |  |  |  +- org.apache.maven.shared:maven-shared-utils:jar:3.2.1:test
[INFO] |  |  |  |  |  \- commons-io:commons-io:jar:2.8.0:test
[INFO] |  |  |  |  +- com.google.inject:guice:jar:no_aop:4.2.1:test
[INFO] |  |  |  |  |  \- com.google.guava:guava:jar:30.1-jre:test
[INFO] |  |  |  |  |     +- com.google.guava:failureaccess:jar:1.0.1:test
[INFO] |  |  |  |  |     \- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-utils:jar:3.2.1:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.6.0:test
[INFO] |  |  |  |  \- commons-cli:commons-cli:jar:1.4:test
[INFO] |  |  |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.4:test
[INFO] |  |  |  +- org.apache.maven:maven-settings-builder:jar:3.6.3:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.25:test
[INFO] |  |  |  |  \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4:test
[INFO] |  |  |  |     \- org.sonatype.plexus:plexus-cipher:jar:1.4:test
[INFO] |  |  |  +- org.apache.maven:maven-resolver-provider:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven:maven-repository-metadata:jar:3.6.3:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-spi:jar:1.4.1:test
[INFO] |  |  |  |  \- org.apache.maven.resolver:maven-resolver-impl:jar:1.4.1:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.4.1:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.4.1:test
[INFO] |  |  |  +- org.apache.maven.wagon:wagon-http:jar:3.3.4:test
[INFO] |  |  |  |  +- org.apache.maven.wagon:wagon-http-shared:jar:3.3.4:test
[INFO] |  |  |  |  |  \- org.jsoup:jsoup:jar:1.12.1:test
[INFO] |  |  |  |  \- org.apache.maven.wagon:wagon-provider-api:jar:3.3.4:test
[INFO] |  |  |  \- org.apache.maven.wagon:wagon-file:jar:3.3.4:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-gradle-resolver:jar:1.11.0.Final:test
[INFO] |  |  \- io.smallrye.common:smallrye-common-io:jar:1.5.0:compile
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.4:test
[INFO] |  +- io.quarkus:quarkus-test-common:jar:1.11.0.Final:test
[INFO] |  |  +- io.quarkus:quarkus-core-deployment:jar:1.11.0.Final:test
[INFO] |  |  |  +- io.quarkus.gizmo:gizmo:jar:1.0.6.Final:test
[INFO] |  |  |  |  \- org.ow2.asm:asm-util:jar:9.0:test
[INFO] |  |  |  |     +- org.ow2.asm:asm-tree:jar:9.0:test
[INFO] |  |  |  |     \- org.ow2.asm:asm-analysis:jar:9.0:test
[INFO] |  |  |  +- org.ow2.asm:asm:jar:9.0:test
[INFO] |  |  |  +- io.quarkus:quarkus-class-change-agent:jar:1.11.0.Final:test
[INFO] |  |  |  +- io.quarkus:quarkus-devtools-utilities:jar:1.11.0.Final:test
[INFO] |  |  |  \- io.quarkus:quarkus-builder:jar:1.11.0.Final:test
[INFO] |  |  +- io.quarkus:quarkus-jsonp-deployment:jar:1.11.0.Final:test
[INFO] |  |  |  \- io.quarkus:quarkus-jsonp:jar:1.11.0.Final:test
[INFO] |  |  |     \- org.glassfish:jakarta.json:jar:1.1.6:test
[INFO] |  |  +- org.jboss:jandex:jar:2.2.2.Final:test
[INFO] |  |  \- org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final:test
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.7.0:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.7.0:test
[INFO] |  |  |  +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] |  |  |  +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] |  |  |  \- org.junit.platform:junit-platform-commons:jar:1.7.0:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.7.0:test
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.7.0:test
[INFO] |  |     \- org.junit.platform:junit-platform-engine:jar:1.7.0:test
[INFO] |  \- com.thoughtworks.xstream:xstream:jar:1.4.14:test
[INFO] |     +- xmlpull:xmlpull:jar:1.1.3.1:test
[INFO] |     \- xpp3:xpp3_min:jar:1.1.4c:test
[INFO] \- io.rest-assured:rest-assured:jar:4.3.3:test
[INFO]    +- org.codehaus.groovy:groovy:jar:3.0.5:test
[INFO]    +- org.codehaus.groovy:groovy-xml:jar:3.0.7:test
[INFO]    +- org.apache.httpcomponents:httpclient:jar:4.5.13:test
[INFO]    |  +- org.apache.httpcomponents:httpcore:jar:4.4.14:test
[INFO]    |  \- commons-codec:commons-codec:jar:1.14:test
[INFO]    +- org.apache.httpcomponents:httpmime:jar:4.5.13:test
[INFO]    +- org.hamcrest:hamcrest:jar:2.1:test
[INFO]    +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1:test
[INFO]    +- io.rest-assured:json-path:jar:4.3.3:test
[INFO]    |  +- org.codehaus.groovy:groovy-json:jar:3.0.5:test
[INFO]    |  \- io.rest-assured:rest-assured-common:jar:4.3.3:test
[INFO]    \- io.rest-assured:xml-path:jar:4.3.3:test
[INFO]       +- org.apache.commons:commons-lang3:jar:3.9:test
[INFO]       +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:test
[INFO]       |  \- jakarta.activation:jakarta.activation-api:jar:1.2.1:test
[INFO]       \- com.sun.xml.bind:jaxb-impl:jar:2.3.3:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.412 s
[INFO] Finished at: 2021-01-26T15:02:09+08:00
[INFO] ------------------------------------------------------------------------

4.4 Приведенная выше зависимость mvn: дерево отображает все зависимости компилятора, среды выполнения и тестирования приложения. Однако мы можем использовать плагин Maven quarks-bootstrap-maven-plugin для отображения только зависимостей времени выполнения приложения Quarkus.

Поместите это в pom.xml

  
      io.quarkus
      quarkus-bootstrap-maven-plugin
      ${quarkus-plugin.version}
  

В терминале введите mv nw quarks-bootstrap:build-tree , чтобы отобразить зависимости времени выполнения.

> mvnw quarkus-bootstrap:build-tree
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.mkyong:quarkus-hello-world-maven >----------------
[INFO] Building quarkus-hello-world-maven 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus-bootstrap-maven-plugin:1.11.0.Final:build-tree (default-cli) @ quarkus-hello-world-maven ---
[INFO] com.mkyong:quarkus-hello-world-maven:pom:1.0.0-SNAPSHOT
[INFO] â"œâ"€ io.quarkus:quarkus-arc-deployment:jar:1.11.0.Final (compile)
[INFO] â"'  â"œâ"€ io.quarkus:quarkus-core-deployment:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ org.wildfly.common:wildfly-common:jar:1.5.4.Final-format-001 (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus.gizmo:gizmo:jar:1.0.6.Final (compile)
[INFO] â"'  â"'  â"'  â""â"€ org.ow2.asm:asm-util:jar:9.0 (compile)
[INFO] â"'  â"'  â"'     â"œâ"€ org.ow2.asm:asm-tree:jar:9.0 (compile)
[INFO] â"'  â"'  â"'     â""â"€ org.ow2.asm:asm-analysis:jar:9.0 (compile)
[INFO] â"'  â"'  â"œâ"€ org.jboss:jandex:jar:2.2.2.Final (compile)
[INFO] â"'  â"'  â"œâ"€ org.ow2.asm:asm:jar:9.0 (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-development-mode-spi:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-class-change-agent:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-bootstrap-core:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ io.quarkus:quarkus-bootstrap-app-model:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â"'  â""â"€ org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final (runtime)
[INFO] â"'  â"'  â"'  â"œâ"€ io.quarkus:quarkus-bootstrap-maven-resolver:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-embedder:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-settings:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-core:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-artifact:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â""â"€ org.codehaus.plexus:plexus-component-annotations:jar:2.1.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-plugin-api:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-model:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-model-builder:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-builder-support:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.resolver:maven-resolver-api:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.resolver:maven-resolver-util:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.shared:maven-shared-utils:jar:3.2.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â""â"€ commons-io:commons-io:jar:2.8.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ com.google.inject:guice:jar:no_aop:4.2.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â""â"€ com.google.guava:guava:jar:30.1-jre (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'     â"œâ"€ com.google.guava:failureaccess:jar:1.0.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'     â""â"€ com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.codehaus.plexus:plexus-utils:jar:3.2.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.codehaus.plexus:plexus-classworlds:jar:2.6.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ commons-cli:commons-cli:jar:1.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ org.apache.commons:commons-lang3:jar:3.9 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-settings-builder:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.codehaus.plexus:plexus-interpolation:jar:1.25 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'     â""â"€ org.sonatype.plexus:plexus-cipher:jar:1.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-resolver-provider:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven:maven-repository-metadata:jar:3.6.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.resolver:maven-resolver-spi:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ org.apache.maven.resolver:maven-resolver-impl:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.4.1 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.wagon:wagon-http:jar:3.3.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.maven.wagon:wagon-http-shared:jar:3.3.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â""â"€ org.jsoup:jsoup:jar:1.11.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.httpcomponents:httpclient:jar:4.5.13 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"'  â""â"€ commons-codec:commons-codec:jar:1.14 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â"œâ"€ org.apache.httpcomponents:httpcore:jar:4.4.14 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ org.apache.maven.wagon:wagon-provider-api:jar:3.3.3 (compile)
[INFO] â"'  â"'  â"'  â"'  â""â"€ org.apache.maven.wagon:wagon-file:jar:3.3.4 (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ io.quarkus:quarkus-bootstrap-gradle-resolver:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â""â"€ io.smallrye.common:smallrye-common-io:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-devtools-utilities:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.4 (runtime)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-core:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ jakarta.inject:jakarta.inject-api:jar:1.0 (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ io.quarkus:quarkus-ide-launcher:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ io.smallrye.config:smallrye-config:jar:1.10.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ io.smallrye.common:smallrye-common-annotation:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ io.smallrye.config:smallrye-config-common:jar:1.10.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ org.eclipse.microprofile.config:microprofile-config-api:jar:1.4 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ io.smallrye.common:smallrye-common-expression:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"'  â""â"€ io.smallrye.common:smallrye-common-function:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â"œâ"€ io.smallrye.common:smallrye-common-constraint:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"'  â"'  â""â"€ io.smallrye.common:smallrye-common-classloader:jar:1.5.0 (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ org.jboss.logmanager:jboss-logmanager-embedded:jar:1.0.6 (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ org.jboss.logging:jboss-logging-annotations:jar:2.2.0.Final (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ org.jboss.threads:jboss-threads:jar:3.2.0.Final (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ org.slf4j:slf4j-api:jar:1.7.30 (compile)
[INFO] â"'  â"'  â"'  â"œâ"€ org.jboss.slf4j:slf4j-jboss-logmanager:jar:1.1.0.Final (compile)
[INFO] â"'  â"'  â"'  â""â"€ io.quarkus:quarkus-bootstrap-runner:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-builder:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â""â"€ org.graalvm.sdk:graal-sdk:jar:20.3.0 (compile)
[INFO] â"'  â"œâ"€ io.quarkus:quarkus-vertx-http-dev-console-spi:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"œâ"€ io.quarkus.arc:arc:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â"'  â""â"€ jakarta.transaction:jakarta.transaction-api:jar:1.3.3 (compile)
[INFO] â"'  â"'  â""â"€ io.vertx:vertx-web:jar:3.9.5 (compile)
[INFO] â"'  â"'     â"œâ"€ io.vertx:vertx-web-common:jar:3.9.5 (compile)
[INFO] â"'  â"'     â"œâ"€ io.vertx:vertx-auth-common:jar:3.9.5 (compile)
[INFO] â"'  â"'     â"œâ"€ io.vertx:vertx-bridge-common:jar:3.9.5 (compile)
[INFO] â"'  â"'     â""â"€ io.vertx:vertx-core:jar:3.9.5 (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-common:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-buffer:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-transport:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-handler:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"'  â""â"€ io.netty:netty-codec:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-handler-proxy:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"'  â""â"€ io.netty:netty-codec-socks:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-codec-http:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-codec-http2:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-resolver:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ io.netty:netty-resolver-dns:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"'  â""â"€ io.netty:netty-codec-dns:jar:4.1.49.Final (compile)
[INFO] â"'  â"'        â"œâ"€ com.fasterxml.jackson.core:jackson-core:jar:2.11.3 (compile)
[INFO] â"'  â"'        â""â"€ com.fasterxml.jackson.core:jackson-databind:jar:2.11.3 (compile)
[INFO] â"'  â"'           â""â"€ com.fasterxml.jackson.core:jackson-annotations:jar:2.11.3 (compile)
[INFO] â"'  â"œâ"€ io.quarkus:quarkus-arc:jar:1.11.0.Final (compile)
[INFO] â"'  â"'  â""â"€ org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.0.1 (compile)
[INFO] â"'  â""â"€ io.quarkus.arc:arc-processor:jar:1.11.0.Final (compile)
[INFO] â"'     â"œâ"€ jakarta.enterprise:jakarta.enterprise.cdi-api:jar:2.0.2 (compile)
[INFO] â"'     â"'  â"œâ"€ jakarta.el:jakarta.el-api:jar:3.0.3 (compile)
[INFO] â"'     â"'  â""â"€ jakarta.interceptor:jakarta.interceptor-api:jar:1.2.5 (compile)
[INFO] â"'     â"œâ"€ org.jboss.logging:jboss-logging:jar:3.4.1.Final (compile)
[INFO] â"'     â""â"€ jakarta.annotation:jakarta.annotation-api:jar:1.3.5 (compile)
[INFO] â""â"€ io.quarkus:quarkus-resteasy-deployment:jar:1.11.0.Final (compile)
[INFO]    â"œâ"€ io.quarkus:quarkus-resteasy-server-common-deployment:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus:quarkus-resteasy-common-deployment:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â"œâ"€ io.quarkus:quarkus-resteasy-common:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â"'  â"œâ"€ org.jboss.resteasy:resteasy-core:jar:4.5.8.SP1 (compile)
[INFO]    â"'  â"'  â"'  â"'  â"œâ"€ org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:2.0.1.Final (compile)
[INFO]    â"'  â"'  â"'  â"'  â"œâ"€ org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:2.0.0.Final (compile)
[INFO]    â"'  â"'  â"'  â"'  â"œâ"€ org.jboss.resteasy:resteasy-core-spi:jar:4.5.8.SP1 (compile)
[INFO]    â"'  â"'  â"'  â"'  â""â"€ com.ibm.async:asyncutil:jar:0.1.0 (compile)
[INFO]    â"'  â"'  â"'  â""â"€ com.sun.activation:jakarta.activation:jar:1.2.1 (compile)
[INFO]    â"'  â"'  â""â"€ io.quarkus:quarkus-resteasy-common-spi:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus:quarkus-resteasy-server-common-spi:jar:1.11.0.Final (compile)
[INFO]    â"'  â""â"€ io.quarkus:quarkus-resteasy-server-common:jar:1.11.0.Final (compile)
[INFO]    â"'     â""â"€ jakarta.validation:jakarta.validation-api:jar:2.0.2 (compile)
[INFO]    â"œâ"€ io.quarkus:quarkus-undertow-spi:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus.http:quarkus-http-servlet:jar:3.0.18.Final (compile)
[INFO]    â"'  â"'  â""â"€ io.quarkus.http:quarkus-http-core:jar:3.0.18.Final (compile)
[INFO]    â"'  â"'     â""â"€ io.quarkus.http:quarkus-http-http-core:jar:3.0.18.Final (compile)
[INFO]    â"'  â"œâ"€ jakarta.servlet:jakarta.servlet-api:jar:4.0.3 (compile)
[INFO]    â"'  â""â"€ org.jboss.metadata:jboss-metadata-web:jar:11.0.0.Final (compile)
[INFO]    â"'     â""â"€ org.jboss.metadata:jboss-metadata-common:jar:11.0.0.Final (compile)
[INFO]    â"œâ"€ io.quarkus:quarkus-vertx-http-deployment:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus:quarkus-vertx-core-deployment:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â"œâ"€ io.quarkus:quarkus-netty-deployment:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â"'  â""â"€ io.quarkus:quarkus-netty:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â""â"€ io.quarkus:quarkus-vertx-core:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus:quarkus-vertx-http:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â"œâ"€ io.quarkus:quarkus-security-runtime-spi:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â""â"€ io.quarkus.security:quarkus-security:jar:1.1.3.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus:quarkus-kubernetes-spi:jar:1.11.0.Final (compile)
[INFO]    â"'  â"œâ"€ io.quarkus.qute:qute-core:jar:1.11.0.Final (compile)
[INFO]    â"'  â"'  â""â"€ io.smallrye.reactive:mutiny:jar:0.12.5 (compile)
[INFO]    â"'  â"'     â""â"€ org.reactivestreams:reactive-streams:jar:1.0.3 (compile)
[INFO]    â"'  â""â"€ org.yaml:snakeyaml:jar:1.27 (compile)
[INFO]    â"œâ"€ io.quarkus:quarkus-resteasy:jar:1.11.0.Final (compile)
[INFO]    â""â"€ io.quarkus:quarkus-security-spi:jar:1.11.0.Final (compile)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.256 s
[INFO] Finished at: 2021-01-27T21:27:24+08:00
[INFO] ------------------------------------------------------------------------

P.S Типы кварки mvnw-начальная загрузка: справка для перечисления всех доступных целей.

5. Конечная точка кварков JAX-RX

quarks-maven-плагин генерирует простой HelloResource.java для конечной точки /привет , а также связанного модульного теста.

5.1 Простая конечная точка JAX-RX /привет , и верните обычный текстовый вывод “Hello RESTEasy”.

package com.mkyong.quarkus;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/hello")
public class HelloResource {

  @GET
  @Produces(MediaType.TEXT_PLAIN)
  public String hello() {
      return "Hello RESTEasy";
  }
}

5.2 Модульный тест для проверки вышеуказанной конечной точки.

package com.mkyong.quarkus;

import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Test;

import static io.restassured.RestAssured.given;
import static org.hamcrest.CoreMatchers.is;

@QuarkusTest
public class HelloResourceTest {

  @Test
  public void testHelloEndpoint() {
      given()
        .when().get("/hello")
        .then()
           .statusCode(200)
           .body(is("Hello RESTEasy"));
  }

}

6. Кварки и док-файл

quarks-maven-плагин также генерирует три Докерфайл файлы для создания контейнера Docker для файла JAR или собственного исполняемого файла.

  1. Dockerfile.fast-jar – Создайте контейнер docker для файла JAR, это новый формат упаковки (Fast-jar) с момента выпуска Quarkus 1.5 , для более быстрого запуска (вероятно, формат по умолчанию в будущем выпуске).
  2. Dockerfile.jvm – Создайте контейнер docker для файла JAR.
  3. Докер-файл.собственный – Создайте контейнер docker для собственного исполняемого файла .

7. Запуск кварков в режиме разработки

7.1 В отдельном терминале введите команду mvn компилировать кварки: dev для запуска приложения Quarkus в режиме разработки и по умолчанию, включающего горячее развертывание с фоновой компиляцией, что означает, что если мы изменим какой-либо код, изменения автоматически вступят в силу.

По умолчанию приложение Quarkus запускается с порта 8080 .

> mvnw compile quarkus:dev

OpenJDK 64-Bit Server VM warning: forcing TieredStopAtLevel to full optimization because JVMCI is enabled
Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-01-26 16:19:28,903 INFO  [io.quarkus] (Quarkus Main Thread) quarkus-hello-world-maven 1.0.0-SNAPSHOT
on JVM (powered by Quarkus 1.11.0.Final) started in 1.677s. Listening on: http://localhost:8080
2021-01-26 16:19:28,905 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-01-26 16:19:28,912 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy]

7.2 Доступ к конечной точке /привет .

> curl http://localhost:8080/hello
Hello RESTEasy

7.3 Мы изменяем /привет

package com.mkyong.quarkus;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/hello")
public class HelloResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        //return "Hello RESTEasy";
        return "Hello World Quarkus";
    }

}

7.4 Возвращаясь к терминалу, который запускает приложение Quarks, рабочий поток vert.x обнаружит измененный файл и автоматически выполнит горячую замену.

OpenJDK 64-Bit Server VM warning: forcing TieredStopAtLevel to full optimization because JVMCI is enabled
Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-01-26 16:19:28,903 INFO  [io.quarkus] (Quarkus Main Thread) quarkus-hello-world-maven 1.0.0-SNAPSHOT
on JVM (powered by Quarkus 1.11.0.Final) started in 1.677s. Listening on: http://localhost:8080
2021-01-26 16:19:28,905 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-01-26 16:19:28,912 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy]

2021-01-26 21:52:36,449 INFO  [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Changed source files detected,
recompiling [C:\Users\mkyong\projects\quarkus\quarkus-hello-world-maven\src\main\java\com\mkyong\quarkus\HelloResource.java]
2021-01-26 21:52:36,940 INFO  [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Application restart not required, replacing classes via instrumentation
2021-01-26 21:52:36,972 INFO  [io.qua.dep.dev.RuntimeUpdatesProcessor] (vert.x-worker-thread-1) Hot replace performed via instrumentation, no restart needed, total time: 0.525s

7.4 Снова откройте конечную точку /hello , чтобы увидеть новые изменения.

> curl http://localhost:8080/hello
Hello World Quarkus

7.5 CTRL + C , чтобы остановить запущенное приложение Quark u.

Дальнейшее Чтение

Скачать Исходный Код

$клон git $клон git

$$cd кварки- привет-мир-maven

$$mvn компиляция quartus: разработка

$завиток http://localhost:8080/hello

Рекомендации

Оригинал: “https://mkyong.com/quarkus/maven-quarkus-hello-world-example/”