• GraalVM + Springboot3 + IDEA 在widow10 上完成构建本地化服务


    GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。

    GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。

    GraalVM向JDK添加了一个优化编译器,它为各种语言提供性能优化,并为多语言应用程序提供互操作性。除了支持Java代码,GraalVM还支持其他编程语言,包括Scala、Kotlin、Groovy、Clojure、R、Python、JavaScript和Ruby。从本质上讲,GraalVM允许开发人员在单个应用程序中以多种语言和库高效地运行代码。
     

    一,准备工作:

    1. 安装 GraalVM 

       下载地址:https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.0

    解压到本地

    2.配置 GRAALVM_HOME 环境变量

    3, Path 配置

    4.验证安装结果:

     

     表示环境配置完成;

    二. 安装 native image,用于构建

    1. 由于网络问题,需要手动下载对应版本的

     2.本地cmd,执行命令 

    gu install -L native-image-installable-svm-java11-windows-amd64-22.0.0.2.jar

    3.验证;可以使用命令查看,已经安装的功能

    gu list

     

     安装成功;

    三,搭建 spring boot 3的项目

     IDEA 使用的版本 2022.3

     注意选择刚安装的 graalvm sdk;

    2. 配置项目 pom 文件

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0modelVersion>
    6. <parent>
    7. <groupId>org.springframework.bootgroupId>
    8. <artifactId>spring-boot-starter-parentartifactId>
    9. <version>3.0.0version>
    10. parent>
    11. <groupId>你的组织名groupId>
    12. <artifactId>你的项目名artifactId>
    13. <version>1.0-SNAPSHOTversion>
    14. <packaging>pompackaging>
    15. <properties>
    16. <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    17. properties>
    18. <dependencies>
    19. <dependency>
    20. <groupId>org.springframework.bootgroupId>
    21. <artifactId>spring-boot-starter-webartifactId>
    22. dependency>
    23. <dependency>
    24. <groupId>org.projectlombokgroupId>
    25. <artifactId>lombokartifactId>
    26. <optional>trueoptional>
    27. dependency>
    28. <dependency>
    29. <groupId>org.springframework.bootgroupId>
    30. <artifactId>spring-boot-starter-testartifactId>
    31. <scope>testscope>
    32. dependency>
    33. dependencies>
    34. <build>
    35. <plugins>
    36. <plugin>
    37. <groupId>org.graalvm.buildtoolsgroupId>
    38. <artifactId>native-maven-pluginartifactId>
    39. <extensions>trueextensions>
    40. <executions>
    41. <execution>
    42. <id>build-nativeid>
    43. <goals>
    44. <goal>compile-no-forkgoal>
    45. goals>
    46. <phase>packagephase>
    47. execution>
    48. <execution>
    49. <id>test-nativeid>
    50. <goals>
    51. <goal>testgoal>
    52. goals>
    53. <phase>testphase>
    54. execution>
    55. executions>
    56. <configuration>
    57. <mainClass>com.fate.boot3.Boot3ApplicationmainClass>
    58. <imageName>boot-testimageName>
    59. <buildArgs>
    60. <buildArg>--verbosebuildArg>
    61. buildArgs>
    62. configuration>
    63. plugin>
    64. <plugin>
    65. <groupId>org.springframework.bootgroupId>
    66. <artifactId>spring-boot-maven-pluginartifactId>
    67. <configuration>
    68. <excludes>
    69. <exclude>
    70. <groupId>org.projectlombokgroupId>
    71. <artifactId>lombokartifactId>
    72. exclude>
    73. excludes>
    74. configuration>
    75. plugin>
    76. plugins>
    77. build>
    78. project>

    3.其他的先不要配置,和springboot 2一样的写法,写个简单的测试方法;

    4. 启动

  • 相关阅读:
    【LeetCode】102. 二叉树的层序遍历
    【性能优化】虚拟懒加载(下拉滚动加载长列表)element-puls+el-table
    第五十六章 CSP的常见问题 - 我如何修复`Zen`错误
    【电子书赠送福利】蘇小沐电子数据取证实务教程!风吹哪页读哪页,哪页不会撕哪页!
    文档信息抽取技术:从非结构化文本到结构化信息的旅程
    生命在于学习——Stable Diffution(Mac端)
    PCL——点云特征描述与提取
    24_ue4进阶末日生存游戏开发[按路径巡逻]
    接口测试6-断言
    项目经验分享:实现一个昇思MindSpore 图层 IR 融合优化 pass
  • 原文地址:https://blog.csdn.net/zy_jun/article/details/128201860