exe4j是一种用于将Java程序打包成可执行文件(.exe)的软件工具。使用exe4j,开发人员可以将Java程序打包成可独立运行的.exe文件,并将所需的Java虚拟机(JVM)包含在内。exe4j提供了许多配置选项,可以用于调整应用程序的启动参数、文件关联和图标等。
在使用exe4j时,需要提供程序的启动类、依赖项和资源文件等,并指定程序的主类和入口点。exe4j还提供了许多选项,例如应用程序图标、文件关联、JVM参数和启动时动态加载库等,以便更好地控制应用程序的行为。
总的来说,exe4j是一种将Java程序打包成可执行文件的有效工具,它可以帮助开发人员将Java应用程序转化为独立的.exe文件,并提供了许多配置选项以供调整应用程序的行为。
使用ej-technologies - Java APM, Java Profiler, Java Installer Builder 下载
安装:
下载完成后,一直下一步就可以,如果对下载位置有要求,请自行变更
exe4j下载完成后需要添加注册码,否则每次打开都会有对应提示
9.0版的
公司和名字随便填,注册码下面的随便随便复制一个即可。
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
然后开始转化设置(输完注册码重启):
打完之后运行:
java.lang.UnsupportedClassVersionError: com/talent/TalentMainApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController. doPrivileged(Native Method)
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:80)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
报错
他的意思就是我们用IDEA写的代码版本不能在linux上运行,Linux和这个代码的版本冲突,Linux最高支持52.0(也就是Java8,使用的jdk版本是jdk1.8),我用的是60.0(也就是Java16,jdk16),代码的版本太高。
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19
因此我找到了这样的解决办法:
在Idea里重新创建一个项目,选择版本为jdk1.8
如果自己电脑没有这个,点这里下载一下就ok
选择完,然后下一步,创建项目路径,之后把Hadoop需要的jar包放到这个目录,写好一个测试Java代码,重新构建这个代码的jar文件,重新传进虚拟机里就可以运行了。
public class hello_world {
public static void main(String[] args) {
System.out.println("hello world");
}
}
成功解决!
这样就不用单独在Windows电脑上重新安装jdk。