这两天在把一个Java project打包成exe文件时碰到了一些问题,现在把这些问题和解决办法记下来。

1、用java swing做前端时,背景图片无法显示
Solution:把jpg图片换成png图片。。。。。(这个我真不知道是为什么。。折磨了我两天)
在相应工程的src文件夹下新建一个文件夹image存放工程里要用的图片,就可以在打jar包的时候把图片一起打进去了。
生成img对象的方法:

2、用exe4j将jar包打成exe包时,报错。
Solution:尝试了各种教程都没成功,后来被逼的去翻译了报错的Log,然后发现可能是没有把外部的jar包给一起打近exe包里。后台程序是刚哥写的,我也不是很明白那些外部包是干嘛的,可能类似于python的外部库?反正在添加jar包的时候,把project下的lib文件夹下面的那个外部引用Jar包给一起打进去,就好了。

3、把jre打近exe包的问题。
Solution:其实我们是没有实现把jre打进exe包里的。我的理解是它应该是存储了jre的相对路径。比如说我打的exe包里jre的路径是 ./jre1,而刚哥的是 ./jre2之类的。当把打好的exe包复制到另一台没有jre包的主机的桌面时,我们的exe文件是不能跑的。而把jre2文件夹复制到桌面后,刚哥的exe文件可以跑了,而我的不能跑。把jre1文件复制到桌面后,我的也能跑的。所以装exe的同时还需要带上jre包这个尾巴,且jre包需要和exe文件在同一个根目录下。但是看博客好像有人提到有简化的方法。

4、jdk10和jdk1.8的关系
这个是没有解决的问题。我在官网下jdk10,exe4j软件说找不到jdk环境。然后把jdk10换成1.8,就可以正常运行exe4j了。是因为exe4j还不支持最新版的jdk还是jdk10和jdk1.8有什么别的区别?

关于java工程打exe包的一些问题的更多相关文章

  1. java工程打成jar包 - 使用maven assembly插件打包及手动打包

    在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml ...

  2. java工程打jar包

    下面记录一下打jar包的方法 对于含有第三方jar的工程需要写MANIFEST.MF文件,文件结构如下: Manifest-Version: 1.0 .jar .jar Main-Class: Sel ...

  3. mac eclipse 创建Java 工程

    首先创建Java工程testjavapro,创建包testjavapro,接着创建类testjava 参考: https://www.jianshu.com/p/20280b850c95

  4. Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)

    1. 首先,右键你的Java工程,选择Export,在Java文件夹下选择Runnable JAR file,如下图所示: 2. 选择Runnable JAR file后,会弹出如下所示的对话框,选择 ...

  5. Intellij IDEA下导出Java工程的可运行JAR包

    Intellij IDEA下导出Java工程的可运行JAR包 昨天一直向导出一个Java工程的可运行JAR包,然后查阅网上的资料以及自己一遍一遍的尝试,均以失败告终.可以导出JAR包,但是导出的JAR ...

  6. java工程打包成jar包,并且解压lib里的jar包

    在我们开发完java工程部署时,有时不需要web容器,为了方便部署有时候需要打成jar包. 这里介绍2种Eclipse打jar包的方式, 方式一.工程引用的jar包打在lib目录下 1.工程上右键,E ...

  7. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  8. Eclipse IDE 添加jar包到Java工程中

    操作系统:Windows 10 x64 工具1:Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0) 在Pac ...

  9. maven-assembly-plugin把java工程打包成为一个可执行的jar包

    用Java写了一个小工具,使用maven java 工程.写完后,想打包成一个可执行的jar包. 使用maven的插件maven-assembly-plugin pom.xml里添加 <buil ...

随机推荐

  1. CSS——Flex

    任何一个容器都可以指定为Flexbox布局 .flex-container { display: -webkit-flex; /* Safari */ display: flex; } 行内元素可以指 ...

  2. pycharm移动项目文件后,运行报错

    pycharm移动项目文件后,运行报错: ModuleNotFoundError:  No module named 'D:/my_project/my_cases/email139cases/tes ...

  3. 批量查杀该死的VBscript “svchost.exe” 脚本挂马

    今天写代码突然发现HTML文件最后多了一段VBscript代码: <SCRIPT Language=VBScript><!-- DropFileName = "svchos ...

  4. ichartjs用法

    代码 <script type="text/javascript" src="../js/ichart.1.2.min.js"></scrip ...

  5. pyqt-QGrapicsView 坐标系详解

    PTQT——GraphicsView框架 转载 原网址 http://blog.51cto.com/9291927/1879128 一.GraphicsView框架简介 QT4.2开始引入了Graph ...

  6. python报以下错误:TypeError: 'int' object is not subscriptable

    原因:数组忘了写下标,数组某项赋值成了 数组对象=数字: 查询其它人的博客,发现仍有其它可能引发此错误,无非是不可以相互操作的对象进行了操作或者是访问对象的方式不对,如:给数字加了下标,对一维数组加了 ...

  7. 并发编程之synchronized关键字

    synchronized关键字 synchronized关键字最主要的三种使用方式的总结 1.修饰实例方法,作用于当前对象实例加锁,进入同步代码块前要获得当前对象实例的锁 2.修饰静态方法,作用于当前 ...

  8. SpringMVC Controller接收参数总结

    本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示: 系统/工具 版本号OS Windows 7 Home BasicJava 1.7.0_79Eclipse M ...

  9. firewalld 防火墙配置

    1. firewalld-cmd 命令中使用的参数以及作用  --get-default-zone 查询默认的区域名称 --set-default-zone=<区域名称> 设置默认的区域, ...

  10. 将ipad作为电脑拓展屏或分屏的简单方法

    用Ipad实现电脑分屏的方法是挺简单的,但鉴于部分小白找不到合适的门路,在此重新分享一下. 需要的装备:  ipad   电脑   数据连接线 方法:某宝上搜索 duet display ,只需1元左 ...