windows7上编写的java小程序,用exe4j生成的exe启动程序,放到XP系统上报错:
java.lang.ClassNotFoundException: cn.com.liu.table.ProDBConn
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
检查了XP上的JDK,是正常的,跟JDK版本有没有关系,我用的是1.8 32位的
在windows7上运行正常,到windowsXP上就报错了,哪位大佬知道的告诉我一下问题在哪
我不懂java,但是你打的exe 是不是x86的?
找到问题了,exe4j生成exe的时候添加的jar是绝对地址,到新电脑上后存放软件不按照原来的目录存放就无法打开,有什么办法可以解决这个问题吗
@陌归: exe4j 打包能设置为相对路径吗?
@Tom.汤: 设置成相对路径就想解决了。
在系统变量中更改classpath为:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
没能解决,系统是windows XP professional service pack3
@陌归: 在cmd中看一下能否打印java版本
@再见2019: 打印版本,同样的方式在windows7和windows10上能正常运行
@陌归: 另一个原因是你在打包的时候其他模块没有编译打包进来,IDE在windows 7 上,有些模块是走的IDE的路径找到的,所以windows 7 上没有问题,换个电脑就出现问题了,你检查一下其他模块install试试
@再见2019: 我换了一个电脑也是XP系统 就能启动,应该是系统却组件支持吧,跟.NET Framework有没有关系?
@陌归: windows 7和xp上的jdk都是32位吗?要保持一致再试试
@再见2019: 是JDK1.8 32位
exe4j生成exe时添加的jar显示的是绝对地址,更改存放位置后不能打开了