首页 > 编程语言 >Java程序打包成exe,无Java环境也能运行

Java程序打包成exe,无Java环境也能运行

时间:2024-12-22 18:01:28浏览次数:11  
标签:jre exe Java jar 制作 打包 图片

Java程序开发完成后,通常情况下以jar包的形式发布。但有时我们需要给非软件开发人员使用程序,如制作好窗体应用,把它发给没有java开发环境的人使用,此时就需要制作exe安装包。本文介绍如何将java程序制作成exe安装包,并提供有图片和三方依赖jar包的解决方案。

1.安装exe制作软件

制作exe安装包需要用到一个打包软件,exe4j,下载地址 https://exe4j.apponic.com/

2.打包应用程序

准备一个写好的应用程序,记住main方法的位置,如果有多个main方法,一定要记住哪个是启动程序的入口。

没有图片可忽略这里)注意如果有用到图片,那么一定要放在src根目录下,引用图片的时候用this.getClass().getResource("相对路径")的方式去引用,不能用getClassLoader的方式,不然打包之后图片可能显示是空白的。相对路径"/images/arg.png"前面有一个/表示的是根路径,也就是src。

在idea中选File->Project Structure

在idea中选Build->Build Artifacts

这里jar包的名字一般和项目名是一致的,项目叫xx,那么生成的jar就是xx.jar

把所有的jar包全部复制到一个文件夹里,包括项目jar包和三方依赖jar包,如果有图片,把图片文件夹也复制过来。

【重点】因为要把项目给没有安装java环境的人用,所以要把jre一起打包发给他,把自己电脑里的jre也复制过来

3.制作exe

运行exe4j

【重点】Output directory非常重要,一定要和刚才复制出来的jar和jre放在一个目录下

选择主类所在的jar包

多个主类查看方法:进入jar包所在文件夹终端输入: jar xf your-jar-file.jar META-INF/MANIFEST.MF

“your-jar-file.jar”替换成你的jar包名称

如果有三方依赖jar包,依次添加进来

选择运行版本,前面复制的jre是什么版本们这里就写什么版本

【重点】默认打包配置是找电脑上的JAVA_HOME,但是没有配置JAVA_HOME的电脑就不能运行,所以要删除默认配置,选择我们复制过去的jre

这里的.\jre表示相对路径,.\就是后面生成exe的父路径,保持它是.\就可以,不要改

标签:jre,exe,Java,jar,制作,打包,图片
From: https://blog.csdn.net/Gao_xu_sheng/article/details/144649447

相关文章

  • JAVA-通过大疆TSDK的API直接获取红外图片温度信息
    一、前言看过很多关于大疆红外图片用TSDK取温的方式,但是网上能搜到的大部分教程都是通过官方下载文件smple编译出来的程序来取温,如果这样做,虽然确实也能够实现目的,但不得不说,不但会降低运行速度,而且代码调用起来也麻烦。所以不如研究一下怎么直接调用他们的C++API。先说下大疆......
  • Java 小白入门必备知识点
    14.表达式:表达式是由运算符、操作数和方法调用按照语言的语法构造而成的符号序列15.条件运算符16.实现打印出x的值17.实现从键盘录入的功能18.这里的sc、a、b、str全部是变量名19.在java中键盘键入数据时需要导包20.if单分支选择结构21.双分支选择结构22.switch......
  • java--程序--输入--Scanner
    packageInputTest;importjava.util.Scanner;publicclassInputTest{publicstaticvoidmain(String[]args){//English();Chiness();}publicstaticvoidEnglish(){Scannerin=newScanner(System.in);......
  • 阿里P7架构师,耗时十年整理的Java面试飞升笔记,差距不是一点点
    这个问题就不用假如了,我本身从事Java开发已经十年了,去年因为疫情原因导致公司需要断臂求生,熟悉的那些小伙伴们相继离开,心中五味杂陈,思前想后决定离开这个呆了五年的地方。在猎头的引荐下,最终选择了阿里;说是P7的职位,还是需要从小项目开始做起,这一年的时间我都是在忙着组建团队......
  • java高频面试题(2025最新)
    后续会持续更新,广告回来更精彩!如果想看原理可以看看我的另几篇文章没有过多的讲解原理,你们只要背会了,就能快乐两年半。一.java基础1.八大基础类型数字型: 字节类型(byte)、短整型short、整型int、长整型Long、单精度浮点数float、双精度浮点数double字符型: 字符类型char、......
  • Java中双指针的介绍、分类及使用技巧示例
    一、前言Java中的双指针是一种非常高效的算法技巧,它通过使用两个指针来遍历数组或字符串等数据结构,从而在一次遍历中找到符合条件的结果。下面将介绍Java双指针的基本概念、实现方式和应用场景。二、双指针基础知识双指针(TwoPointers)是指在遍历元素的过程中,不是使用单个指......
  • Java中使用四叶天动态代理IP构建ip代理池,实现httpClient和Jsoup代理ip爬虫
    在本次爬虫项目中,关于应用IP代理池方面,具体完成以下功能:从指定API地址提取IP到ip池中(一次提取的IP数量可以自定义更改)每次开始爬虫前(多条爬虫线程并发执行),从ip池中获取一条可用ip和端口号(并用此ip进行代理爬虫)每条IP的有效时间为1~5分钟,如果爬虫过程中当前代理ip失效时,程......
  • JavaScript基础.入门(一)
    JavaScript组成前端分为三层HTML(结构层)利用语义化标签搭建网页CSS(样式层)利用样式进行美化网页、进行网页布局JavaScript(行为层)可以给网页添加动态效果JavaScript是由三部分组成:ECMAScript、DOM、BOM。JavaScript书写规范通过双闭合标签script,将JS语法嵌套在网页中运行。......
  • java2实用教程第六版习题答案 第3章
    第3章一.判断题1.×(应该是true)  2.√ (表达式中最高精度为int,按int算) 3.√    4.× (应该是boolean型)  5.√    6.√    7.√   8.√ 9.×  (并不是必须的,也可以没有)  10.×二.单选1.A (算术混合运算的精度问题,B应为double类......
  • 【Java 马踏棋盘算法】韩顺平笔记
    骑士周游算法算法优化意义1.算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算?2.在Unix下开发服务器程序,功能是要支持上干万人同时在线,在上线前,做内测,一切OK,可上线后,服务器就支撑不住了,公司的CTO对代码进行优化,再次上线,坚如磐石。那瞬间,你就能感受......