这两天在把一个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. SVN忽略已提交的文件(ignore,移出版本控制)

    本文适用于已安装TortoiseSVN客户端的同学. 1.右键点击要忽略的文件夹或文件,鼠标移到“TortoiseSVN”,找到“Unversion and add to ignore list”,选 ...

  2. js 解密

    需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的 ...

  3. 请简单介绍一下BootStrap:

    1.轻量级的开发响应式页面的框架 2.全局CSS,组件,JS插件 3.栅格系统:将页面分为12个等分(CSS3@media媒体查询) 4.col-xs-*:手机屏幕 5.col-sm-*:平板 6.c ...

  4. c++数据类型漫谈

    在计算机眼里所有数据都是0101,二进制才是物理世界的主宰,c++的数据类型相对其他高级语言是相对较细的,因为是继承C而来,但是c++为什么要设计这么多数据类型呢?因为人类难以理解二进制,这就是数据类 ...

  5. 【C语言 基础】什么流程控制?

    流程控制就是控制程序执行的顺序 流程控制的分类: 1.顺序执行 2.选择执行 定义 某些代码可能执行也可能不执行,有选择的执行某些代码 3.循环执行

  6. swift 加载 本地html 和 网络路径

    先上代码: xcode 9.4  ios 11.4 import UIKit import WebKit class RootViewController: UIViewController, WKN ...

  7. oss对象云存储

    import qiniu import uuidimport config def qn_upload_voice(fileData): '''上传语音到七牛云 @arg: fileData - 编码 ...

  8. 阿里云安装mysql后查看不到初始密码的解决办法

    在阿里云安装mysql后用grep 'A temporary password' /var/log/mysqld.log命令查看MySQL初始密码,毛线都没有看到,然后直接到/var/log/mysq ...

  9. MySQL Windows环境变量设置

    问题:MySQL无法全局使用 1.查找MySQL路径 2.添加环境变量 3.验证功能

  10. task 异步 进程与线程的区别

    用Wait方法(会以同步的方式来执行),不用Wait则会以异步的方式来执行 要在主线程中等待后台线程执行完毕,可以使用Wait方法(会以同步的方式来执行).不用Wait则会以异步的方式来执行. Tas ...