码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringNative GraalVM 打包 SpringBoot 为 Linux 的 单文件应用程序


    相比《SpringNative GraalVM 打包 SpringBoot 为 Windows 的 exe 应用程序》,在 Linux 上打包为本地单文件二进制程序就比较简单了。

    主要步骤

    1、graalvm 和 maven 的环境配置
    2、native-image 安装
    3、mvn 编译打包

    环境配置

    1、下载 maven(略)
    2、下载 GraalVM (本文社区版 graalvm-ce-java17-22.1.0)

    GraalVM 官方下载地址:https://github.com/graalvm/graalvm-ce-builds/releases

    下载如下图两个文件,第一个相当于 java 的 jdk,我们配置到 JAVA_HOME 和 PATH 环境变量中。第二个是 native-image,我们使用 gu 命令安装。

    在这里插入图片描述
    在这里插入图片描述
    3、配置环境变量如下示例

    export JAVA_HOME=/opt/graalvm-test/graalvm-ce-java17-22.1.0
    export PATH=$PATH:$JAVA_HOME/bin
    
    export MAVEN_HOME=/opt/soft/jenkins/maven_home
    export PATH=$PATH:$MAVEN_HOME/bin
    
    • 1
    • 2
    • 3
    • 4
    • 5

    使用命令 source /etc/profile 使环境变量生效后,执行 java -version 确认是否生效。

    4、安装 native-image

    命令 gu -L install [下载的 native-image 文件路径]

    [root@test graalvm-test]# gu -L install native-image-installable-svm-java17-linux-amd64-22.1.0.jar 
    Processing Component archive: native-image-installable-svm-java17-linux-amd64-22.1.0.jar
    Installing new component: Native Image (org.graalvm.native-image, version 22.1.0)
    [root@test graalvm-test]# gu list
    ComponentId              Version             Component name                Stability                     Origin 
    ---------------------------------------------------------------------------------------------------------------------------------
    graalvm                  22.1.0              GraalVM Core                  Supported                     
    js                       22.1.0              Graal.js                      Supported                     
    native-image             22.1.0              Native Image                  Early adopter                 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    编译项目

    Demo 项目代码地址:https://github.com/xzxiaoshan/spring-native-demo

    执行命令 mvn clean package -DskipTests -Pnative 构建,构建速度较慢(取决于你服务器的性能),等构建完成后,在项目的 target 目录中就可以看到生成的单二进制文件了。

    在这里插入图片描述

    执行 ./spring-native-demo 启动服务,访问 http://IP:8080/test/show 即可看到我们写的输出 OK 的接口结果。


    (END)

  • 相关阅读:
    Spark Dataset 输出成csv文件
    最近面试 Java 开发的感受:就以平时项目经验面试,通过估计很难
    Windows 安装DotNet Core运行时库
    TPA3045-ASEMI光伏二极管TPA3045
    Python练习题:实现三数之和
    Python核心知识点速查表,长图+26页pdf
    Java 并发编程解析 | 如何正确理解Java领域中的并发锁,我们应该具体掌握到什么程度?
    强化学习 DQN 经验回放 是什么
    异或(xor)的讲解和使用方法
    CMake:配置时运行自定义命令
  • 原文地址:https://blog.csdn.net/catoop/article/details/125990013
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号