Java将Maven项目打包成exe可执行文件

281 阅读1分钟

前置条件

必须安装GraalVm原生镜像 才可以打包 可以查看下面的文章 SpringBoot3 + GraalVm原生镜像 从环境安装到打包测试(超详细) 使用 GraalVM 将 SpringBoot 项目打包成 exe 这两篇文章都很详细的介绍了怎么安装GraalVm

我这边安装的是jdk17的版本 在github中安装jdk21的版本就无法安装native-image 但是jdk17的版本就直接自带了 就很方便 考虑到在不使用虚拟线程的乾情况下已经完全够用了 所以就选择jdk17了

== 下面是测试通过的例子 参考上面的文章连接 但是记得使用cmd 而不用power shell 因为 PowerShell的gu命令有冲突==

在这里插入图片描述

接下来新建一个项目 测试

使用maven提供的模板 IDEA版本不一样的也没有关系 只要是个maven项目就行 注意jdk这个地方要使用的是 GraalVM版本的JDK 在这里插入图片描述 项目的目录 在这里插入图片描述 随便编写一些代码 在这里插入图片描述 在pom文件中添加插件

<build>
    <finalName>unApp</finalName><!-- 导出jar的名字 -->
    <plugins>
      <!--      配置主类-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>com.yirc99.App</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <!--      配置native打包配置-->
      <plugin>
        <groupId>org.graalvm.buildtools</groupId>
        <artifactId>native-maven-plugin</artifactId>
        <extensions>true</extensions>
        <executions>
          <execution>
            <id>build-native</id>
            <goals>
              <goal>compile-no-fork</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
        <configuration>
          <!-- 镜像名称 -->
          <imageName>MyApp1</imageName>
          <!-- 启动类 -->
          <mainClass>com.yirc99.App</mainClass>
          <buildArgs>
            <buildArg>--verbose</buildArg>
          </buildArgs>
          <!--          跳过原生测试-->
          <skipNativeTests>true</skipNativeTests>
          <!--          详细输出-->
          <verbose>true</verbose>
        </configuration>
      </plugin>

    </plugins>
  </build>

直接点击打包即可在这里插入图片描述 在这里插入图片描述