这两天在把一个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. c# 访问共享文件

    #region 连接共享文件夹 /// <summary> /// 连接共享文件夹 /// </summary> public bool ConnectToSharedFold ...

  2. mint linux 18.3 遇到“已安装的 post-installation 脚本 返回了错误号 127 ”问题的解决

    From https://blog.csdn.net/ropai/article/details/27171687 ubuntu 14.04遇到“已安装的 post-installation 脚本 返 ...

  3. oracle入坑日记<三>用户详解(角色理解)

    1   用户是什么 1.1.权限管理是Oracle的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种.如果把Oracl ...

  4. HTML基础篇

    由于一些原因,要换工作了,毫无准备,心情郁闷了几天.但是还是更新了简历,准备复习面试.面 了3天.面试中问到了一些问题,想好好整理一下.越是大公司越看重基础.这几天遇到的面试题,有15到简答题,有两页 ...

  5. JAVA学习记录(二)————JAVA中的IO

    Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水 ...

  6. Tesseract--主要API功能介绍

    tesseract本身代码是由c/c++混编而成的,其中有用的简单的接口函数几乎都是在baseapi.h中.     从其处理过程中,不难得出:它还需要有一个image处理的类,及相关的方法:这样子, ...

  7. TIMESTAMP(6)类型的时间差

    TIMESTAMP 数据类型 它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息. 以分钟为单位查询时间差 select ROUND(TO_NUMBER(to_date(to_c ...

  8. 异常:Instantiation of bean failed; nested exception is java.lang.NoSuchMethodError: com.google.common.base.Preconditions.che ckState(ZLjava/lang/String;I)V

    Instantiation of bean failed; nested exception is java.lang.NoSuchMethodError: com.google.common.bas ...

  9. 限时订单实现方案(DelayQueue、ActiveMq)

    原文链接:http://www.studyshare.cn/blog-front/blog/details/1132 一.在各种电商网站下订单后会保留一个时间段,时间段内未支付则自动将订单状态设置为已 ...

  10. 常用的web服务器软件整理(win+linux)

    (1)Apache Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器 ...