栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Quarkus初体验--2.9.0.Final版本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Quarkus初体验--2.9.0.Final版本

环境准备:

本地环境:

Windows10系统 64位

Maven 3.8.4

GraalVM CE 22.1.0(包含了 Openjdk  11.0.15 )

Visual Studio 2022 社区版

一、安装 graalvm

相关介绍:

GraalVM-下一代JVM简介 

 

GraalVM的三大特点总结如下:
  • GraalVM可以代替JDK、JVM之前的工作。

  • GraalVM除了支持Java,也支持多种语言。

  • GraalVM可以对应用AOT,也就是把程序直接编译成二进制,从而提升启动速度、改进内存使用。

不废话了,直接开搞!!

  1. 下载
    官网URL:https://www.graalvm.org/downloads/
    有两个版本,分别以java8/java11 进行构建,本教程选择java11版本进行构建
    java11:https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.3.0/graalvm-ce-java11-windows-amd64-20.3.0.zip

  2. 解压配置环境变量(同JDK配置一致)

GRAALVM_HOME: D:ProgramFilesJavagraalvm-ce-java11-22.1.0
JAVA_HOME:D:ProgramFilesJavagraalvm-ce-java11-22.1.0
CLASSPATH:  .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar
Path:%JAVA_HOME%bin

  1. cmd查看

安装 native-image

二、安装 Visual Studio

Windows开发环境下,还需要安装Visual Studio,否则maven打native-image时会报错:

Error: Default native-compiler executable 'cl.exe' not found via environment variable PATH

下载地址:Microsoft C++ 生成工具 - Visual Studiohttps://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

勾选一些必须的工具包

然后开始下载

下载中....

经过N分钟后,终于 下载完了....

然后,在安装的时候,语言包勾选英文,去掉中文,否则使用mvn命令打native-image时会编译报错:Native-image building on Windows currently only supports target architecture: AMD64 (?? unsupported)

开始菜单 => Visual Studio Installer => 修改生成工具 => 语言包勾选英文,去掉中文。

提示安装完毕:

然后配置好环境变量:

MSVC = C:Program FilesMicrosoft Visual Studio2022CommunityVCToolsMSVC14.32.31326

WK10_INCLUDE = C:Program Files (x86)Windows Kits10Include10.0.20348.0
WK10_LIB = C:Program Files (x86)Windows Kits10Lib10.0.20348.0

## 变量值必须为INCLUDE和LIB
INCLUDE = %WK10_INCLUDE%ucrt;%WK10_INCLUDE%um;%WK10_INCLUDE%shared;%MSVC%include
LIB = %WK10_LIB%umx64;%WK10_LIB%ucrtx64;%MSVC%libx64

不配置好的话,mvn 编译会报错:Cannot open include file: 'stdio.h': No such file or directory

 另外,MAVEN自己装一下就好了,就不再赘叙

至此,环境就搞好了,

三、新建quarkus的demo项目

(搭建步骤略.....)

可自己手动搭建,也可使用官网生成

官网地址:https://code.quarkus.io/

如果只是需要体验quarkus的急速启动、占用极少内存的话,可以用已经弄好的demo代码,压缩包的链接如下:

链接:https://pan.baidu.com/s/1_Gm6dijqLh2Pwn18h-vDgw?pwd=wr1c 
提取码:wr1c

项目的pom.xml文件



  4.0.0
  org.acme
  code-with-quarkus
  1.0.0-SNAPSHOT
  
    3.8.1
    false
    11
    UTF-8
    UTF-8
    quarkus-bom
    io.quarkus.platform
    2.9.0.Final
    3.0.0-M5
    D:ProgramFilesapache-maven-3.8.4
  
  
    
      
        ${quarkus.platform.group-id}
        ${quarkus.platform.artifact-id}
        ${quarkus.platform.version}
        pom
        import
      
    
  
  

    
      io.quarkus
      quarkus-resteasy-jsonb
      ${quarkus.platform.version}
    


    
      io.quarkus
      quarkus-junit5
      ${quarkus.platform.version}
      test
    
    
      io.rest-assured
      rest-assured
      5.0.0
      test
    
  
  
    
      
        org.apache.maven.plugins
        maven-compiler-plugin
        ${compiler-plugin.version}
        
          ${maven.compiler.release}
          ${maven.compiler.release}
          
          true
        
      
      
        
        org.apache.maven.plugins
        maven-surefire-plugin
        ${surefire-plugin.version}
        
          
            org.jboss.logmanager.LogManager
            ${maven.home}
          
        
      
      
        
        ${quarkus.platform.group-id}
        quarkus-maven-plugin
        ${quarkus.platform.version}
        
          
            
              build
              generate-code
              generate-code-tests
            
          
        
      
    
  


  
    
      native
      
        native
      
      
        
          
            org.apache.maven.plugins
            maven-failsafe-plugin
            ${surefire-plugin.version}
            
              
                
                  integration-test
                  verify
                
                
                  
                    ${project.build.directory}/${project.build.finalName}-runner
                    org.jboss.logmanager.LogManager
                    ${maven.home}
                  
                
              
            
          
        
      
    
  

后端接口类:

package org.acme;

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 GreetingResource {

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

整个项目结构:

 

 

然后进行打native-image,命令如下

mvn package -Pnative

这次终于成功了。。。。。

构建出来的包,也才42MB

 果然启动速度超快,毫秒级别.....

内存占用12MB左右

访问首页:

本地访问下接口,耗时1毫秒....

http://localhost:8080/hello


参考文档: GraalVM 官网下载链接  https://www.graalvm.org/downloads/ graalvm win10 64位环境搭建    https://www.jianshu.com/p/a5cdf85e4ffa

windows10 下 quarkus和GraalVM打包exe启动超快

使用Graalvm简单编译native-image 虚拟机研究:JDK/JVM的新储方式—GraalVM和Quarkus https://baijiahao.baidu.com/s?id=1709080667810830871 

应“云”而生的 Java 框架Quarkus:构建本机可执行文件

 Quarkus入门 Quarkus云原生应用初体验

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号