Coder Social home page Coder Social logo

restore's Introduction

Restore

有人问我为什么 Windows linux 原生无法顺利执行?也有人说 Restore.exe 可以改名 idea64.exe webstorm64.exe,可以是万事万物。

项目简介

本项目是一个基于 Java21 的项目,用于自动化加密打包。 1.0 发布

项目使用说明

  1. 项目使用 Maven 3.9.5 版本 进行管理。
     PS D:\Project\Restore> mvn --version
     Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
     Maven home: D:\ProgramFiles\Scoop\apps\maven\current
     Java version: 21.0.1, vendor: GraalVM Community, runtime: D:\ProgramFiles\Scoop\apps\graalvm21-jdk21\current
     Default locale: zh_CN, platform encoding: UTF-8
     OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
    
  2. jdk 需要使用 GraavlVM 版本
    PS D:\Project\Restore> java -version
    openjdk version "21.0.1" 2023-10-17
    OpenJDK Runtime Environment GraalVM CE 21.0.1+12.1 (build 21.0.1+12-jvmci-23.1-b19)
    OpenJDK 64-Bit Server VM GraalVM CE 21.0.1+12.1 (build 21.0.1+12-jvmci-23.1-b19, mixed mode, sharing)
    
  3. 配置文件
    # 自定义最终产物密码
    password: zion
    # 自定义 svn 源码路径
    svn:
       - https://svn.zion/zion
    # 自定义 git 源码路径
    git:
      - https://gitee.zion/zion
    # 自定义本地源码路径
    path:
      - D:\Project\Restore

打包流程

  1. 构建全量包,包含依赖

    mvn -P all clean package
  2. 使用 agent 生成 reflect-config.json 等文件

    cp restore.yml ./target
    cd target
    java -agentlib:native-image-agent=config-output-dir=..\src\main\resources\META-INF\native-image -jar .\Restore-all.jar
  3. 打包 native 有了刚刚生成的配置文件,打包 NativeImage,主要解决反射类加载问题,在构建时初始化

    mvn -P native clean package

参考

graalvm 编译原生java 解决反射的问题 maven配置

restore's People

Contributors

jackkke avatar

Stargazers

 avatar goodjob avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.