
Usage
Jar2Exe can run in Wizard mode and Command line mode.
Get detailed usage of Wizard mode, command line mode and generated binary files.

Configurations
Parameters can be configured to generated binary executive, such as Java VM parameters, system properties etc.
This is the descriptions of configurations, including overview introductions and detailed syntax.

Integrate API
To integrate with generated exe is not necessary. But if you want to let some of the enhanced functions to work, you need to do a little of integration. Every api to integrate is very simple.
This is the introduction and usages of API.

Demos
You can learn to use Jar2Exe by referring to the demo programs.

Solution advices
Typical usage of Jar2Exe with detailed steps and live demos in practice.
Such as console tool, desktop window, background service, webapp etc.
Services

Activate
After purchased, you need to activate Jar2Exe before you use Jar2Exe to generate exe files for redistributing. Activated Jar2Exe will authorize generated exe to run as a product.
This is to tell you how to activate.

FAQ
Typical questions asked by Jar2Exe users.
Comments
Java Runtime Environment not valid
I use:
netbans
java 17
java Fx 18
gradel 7.3
App runs with build data in netbeans and EnviromentVariable on jre on the install path
App message "Java Runttime Environment not valid" when starting from Exe
javafx in intellij to exe
Hi,
I have a javafx desktop application that was coded in intellij IDE. I need to know before purchasing jar2exe if I can use it to built an exe for my application and also hide and encrypt. I read sth about e(fx)clipse and ClassLoader, but I really don't know how to adopt it for my application.
Thanks
You can try all features before purchase
JavaFX changes a lot between different version of JRE. The document introducing e(fx)clipse on this site is old. The deploy of new version of JavaFX is much simple.
In Java 8, you need not to do special steps to run JavaFX or SpringBoot+JavaFX, just regard JavaFX as a common java program.
You can try all features before purchase.
Jar2Exe Requires Java installation on the other PCs?
Just to avoid to waste my time, I want understand if it's possible to use Jar2Exe to create an executable application from my Java application avoiding the installation of JVM on other PCs.
Kind regards.
Enrico
You can COPY a jre instead of INSTALL
JRE is required, you can copy a 'jre' directory along with the exe file, instead of INSTALL a JRE.
MacOS app not working when code signed
Hi I purchased Jar2Exe as the free trial limitation does not show the self checksum checkbox and I kind of figured this needed to be cleared in order for subsequent codesigning of the app to work correctly.
It seems that I might be wrong as now with the full license and "sef checksum" unchecked I still generate a perfectly working app
THAT IS UNTIL I CODESIGN IT
So codesigning obviously modifies the executable (by appending the signature block at the end) and NOTE I figure its some sort of self extractor executable!!!
codesign --deep --force --timestamp --sign "Developer ID Application: My codesigning ID" MyApp.app
Normally I would also add the hardened runtime option and also notarize the app but since I figure its just the codesigning which messes it all up I tried just signing on its own!
Once the app has been signed (and I'll wager that actually just adding anything to the end of the exe file will bugger it up) thats it GAME OVER - the app wont work.
So since signing and notatarization are mndatory or MacOS apps I ask the following question.
HOW DO I CODESIGN and still have a usable app?
I note that if I codesign (never mind even getting as far as notarizing and stapling) THEN the (launcher app itself) crashes like this....
Process: Terra-DV [8368]
Path: /Volumes/VOLUME/*/Terra-DV.app/Contents/MacOS/Terra-DV
Identifier: com.bluespider.Terra-DV
Version: 3.16 (20)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Terra-DV [8368]
User ID: 501
Date/Time: 2022-03-28 17:45:58.063 +0100
OS Version: Mac OS X 10.15.7 (19H15)
Report Version: 12
Anonymous UUID: A234910C-CE4C-CF68-4926-2918B5E752E7
Time Awake Since Boot: 350000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000e0aa3aaf
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [8368]
VM Regions Near 0xe0aa3aaf:
-->
__TEXT 0000000107266000-00000001072c8000 [ 392K] r-x/rwx SM=COW /Volumes/VOLUME/*/Terra-DV.app/Contents/MacOS/Terra-DV
Application Specific Information:
dyld2 mode
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x00007fff68bf8bb0 _platform_strncpy + 112
1 com.bluespider.Terra-DV 0x000000010726b9a0 CSettingsLoader::AppendInnerRemark() + 224
2 com.bluespider.Terra-DV 0x000000010726affb CSettingsLoader::Init() + 539
3 com.bluespider.Terra-DV 0x000000010726ace2 CSettingsLoader::CSettingsLoader(signed char) + 114
4 com.bluespider.Terra-DV 0x00000001072a2619 main + 57
5 com.bluespider.Terra-DV 0x0000000107267954 start + 52
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000aaf rbx: 0x000000002a22f4c7 rcx: 0x0000000000000055 rdx: 0x000000002a22f4c7
rdi: 0x00007fefb0400000 rsi: 0x00000000e0aa3aaf rbp: 0x00007ffee89993e0 rsp: 0x00007ffee8998f78
r8: 0x00007fefb0400000 r9: 0x00000000000007fb r10: 0x000000000000001e r11: 0x00007fff68bf8b40
r12: 0x0000600001e89bc0 r13: 0x0000000108fb7000 r14: 0x00007ffee8998f88 r15: 0x0000000001d1bf7a
rip: 0x00007fff68bf8bb0 rfl: 0x0000000000010206 cr2: 0x00000000e0aa3aaf
Logical CPU: 4
Error Code: 0x00000004 (no mapping for user data read)
Trap Number: 14
Now I note from the call stack that this has to be in the generated MacOS laucher App since the call stack shows what appears to be C++ code and matches strings present in the generated executable.
I also note that as long as I dont use the encrypt option that the executable can be launched as if it was the jar file itself
e.g
java -jar exefilename
UNLESS it has been signed!!
in which case you get something like this...
java -jar Terra-DV.app/Contents/MacOS/Terra-DV
Error: Invalid or corrupt jarfile Terra-DV.app/Contents/MacOS/Terra-DV
I await your advice as I do not wish to conclude that for MacOS this product is unfit for purpose.
Kind regards,
Dave
OpenJDK 15 Support
Does Jar2Exe suppport JDK 15+ ??? We are using Open JDK 16 to develope out apps.
In most cases, Jar2Exe is JDK independent
In some cases, please tell me if Jar2Exe not work with certain JDK.
encryption
Hi Team
We are using purchased version of Jar2Exe. We have enabled encryption for the jar. Can you share some data related to type of encryption used and how secure is jar after encryption?
Encryption
V2.2: the encryption is : filename hash + jar file encryption
V2.5: filename hash + 2 times of file encryption
When program runs, no temp file will be written. The decryption is in memory.
encryption
Tq for the response. We are using v2.5. Please provide us more details on below.
1. Type of encryption used(AES/RSA/other)
2. key formation
3. please elaborate - filename hash + 2 times of file encryption
Use Jar2Exe with VMProtect
Hello, can I use my Jar2Exe executable with VMProtect? Are there any extra steps I need to take to make it work?
Please disable exe self-checksum
I have not tested VMProtect. If you need to do further encryption after Jar2Exe, please let self-checksum disabled at step 6 https://www.jar2exe.com/usage/wizard/stepoutput.
for reference: https://www.jar2exe.com/solutions/safety
Failed to Convert to .EXE
Hello,
I have been using .exe app from 3 years, recenlty after updating to V2.5 unable to convert to exe, I'm using same jar file which converted successfully in previous version of .exe.
Please help me, I'm stuck in middle.
Thanks
Lost drag and drop
Hello
I have a java app that uses drag and drop function, the jar file run correctly but after convert to exe using jar2exe drag and drop functionalities now missing, any solution?
Which OS?
Thank you for your message.
Which OS? Could you send me a demo java program to show "drap and drop"?
Hi, its for Windows
Hi, its for Windows
Jar2exe close emergency
Hello I've perchese your software years ago it to generate exe. But my software has been haecked I was asking is there a way to track and code the exe files . So is been able to open as of it was a trail version of yours??
If possible let me know and cost involved.
Thanks.
BCEL error
I created an executable from war with the last version (2.2.4), the creation is done without error messages. But executing the exe file a message is showed and no service is started.
The Error is:
Exception in thread "main" org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 18
at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131)
at org.apache.tomcat.util.bcel.classfile.ConstantPool....
The exe file uses apache tomcat 7.0.8
Which version of Java are supported?
Java must be 32 or 64 bits?
Some framework may be not compatible with encryption
When encrypted, it is not allowed to get content of ".class" file by getResource. But some framework will try to load .class and do more by themselves, such as spring.
So, we could choose to partially encrypt our program, and let those class which need to be loaded, not encrypted.
Standard License
Hi, I have a question for Standard license.
Once I buy the product, how many users are allowed to use in our company?
Unlimited
For Standard License, the number of PC is unlimited in a company.
JXBrowser
Hi, I'm using jxbrowser and it doesn't allow me to convert jar to exe anymore, it just stuck and crash!
Jar2Exe subscription
Hello,
I have paid money for Jar2Exe standered version but I didn't received any key or response from your end, please contact me on my mail id: rajendra.shinde.bos@gmail.com
Payment done by mail id: pankajj@bookonspot.com
Waiting for your response.
Regards,
Rajendra
UTF8 default font issue
Hi.
When I am using jar file wrapped into your executable - it ignores file.encoding=UTF8 JVM property in Config Internal and writes junk characters into a file.
When the same jar file is used directly : java -jar -Dfile.encoding=UTF8.. jar.jar - it works fine.
Could you please advise.
Thank you
Mac Executable
Hello,
I tried to make executable for MAC, but it doesn't work.
Please help me on this
Please make sure 2 things:
Mac Excutable
Thanks for reply, Yes i did 64 bit executable, but i don't understand 2 point. Please explain steps to make MAC executable and running on MAC
Need to `chmod +x` when copied to mac
On Linux and Mac, executive files need to have execute privilege to run. Right now, Jar2Exe can run on Windows only, but FAT32 or NTFS could not express the `execute privilege`. So, after generated exe file is copied to Mac, we need to use `chmod +x (binary file)` to add execute privilege to let it runnable.
Generating for Mac ok but when I codesign the executable
hi
I'm using Jar2Exe fine in most cases but have hit a slight problem when generating for "mac" and applying codesigning to the executable.
to codesign I run
codesign -s "MyCompanyID" ./MyAppExecutable
But when I run this I get
$ ./MyAppExecutable
Error occurred during initialization of VM
java.lang.Error: java.lang.ClassNotFoundException: com.regexlab.j2e.Jar2ExeClassLoader
at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1469)
at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1436)
Caused by: java.lang.ClassNotFoundException: com.regexlab.j2e.Jar2ExeClassLoader
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2209)
at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2195)
at java.security.AccessController.doPrivileged(Native Method)
at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1456)
at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1436)
I have "/checksum:false" set already BTW.
Is there a way round this ? I'm sensing there is some overlap in how Jar2Exe and codesign define the executable header info.
Thanks
Which java version?
JDK 1.6 cannot run if exe is codesigned.
If higher than 1.6, I'm not sure whether codesign has corrupted the structure Jar2exe required.
You could try to download http://www.jar2exe.com/download/sites/default/files/download/integrate/j... and put along with the executive, and then add a line:
java_classpath jar2exe_integrate.jar
to config file.
64-bit service EXE not working
Bought JAR2EXE recently and I cannot get it to work...
I am trying make a 64-bit service application.
I thought that Jar2EXE would find JRE automatically but the EXE file built always fails with either Java Runtime Environment not valid or Java Runtime Environment not valid.
However, java binary is found just fine:
c:\Users\Bruger\Desktop>java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) Client VM (build 25.181-b13, mixed mode, sharing)
Since I am planning on searching for (and installing the JRE itself if missing) in my application's setup, please show me a configuration that can either always find the installed JRE or alternatively, please tell me exactly which files from the JRE directories that need to be placed relative to the service binary's directory in order for the JRE to be found ??
Thank you in advance
64 bit exe could only run with 64 bit JRE
On 64 bit Windows, 32 or 64 bit of JRE can run. Both 32 and 64 can be installed together.
Your "java -version" shows that, your JRE is not 64 bit edition.
Jar2Exe doesn't recognize the main jar file
i get a "class does not exist, are you sure it is right?
Jar2Exe doesn't recognize the main jar file
Tried the helloworld and it worked using the command line.
I then moved the jar and class files of the program to be exe'ed to the root directory (c:\) and successfully compiled the files and program. Thank you.
It seems that the directory where I currently have the files no longer is acceptable to Jar2Exe program. That was the cause of the Jar2Exe program not recognizing the main jar. Seems that Jar2Exe relies on Windows to locate the files where the "previously" compiled jar and class files resided. When the PC "user" location naming was changed, Jar2Exe still looked for it in the directory under the older user. Probably a Windows created problem of providing the Jar2Exe program wrong location info.
Which step, when creating or running?
Could you succeed when follow http://www.jar2exe.com/support/demos/hellojar2exe ?
I Cant Activate anymore
I order jar2exe in 2016 and know i can activate anymore, can you helpe me ?
Warning Message "Java Runtime
Warning Message "Java Runtime Environment not found" is shown after trying to run generated EXE!
Not run app after signing "Code signing certificate"
Currently, I use trial version, and after I sign the exe file using "Code signing certificate", the app don't run and show error message: "the exe cannot be modified after it generated". Please help me to solve this issue.
If I purchase "Personal Base License", can this issue be resolved?
Thanks,
Yes, once activated, there is a "checksum" option you can select
The checksum is forced to be checked in trial version.
Is there other payment, not Paypal?
I want to purchase Personal License. Is there other payment, not Paypal? For example, Visa Card or Crypto Currency?
Because my paypal account has limited.
There are ShareIt and RegNow
You can try Share-It and RegNow at http://www.jar2exe.com/purchase
Unable to Generate Key
Dear Support Team;
I am unable to generate my laptop key. kindly help in this regard.
my username is msibtain and purchase jar2exe personal version.
Kindly help in this regard.
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.regexlab.product.KeygenTools
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.regexlab.product.KeygenTools
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.en.regkeys.index_jsp._jspService(index_jsp.java:528)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NoClassDefFoundError: Could not initialize class com.regexlab.product.KeygenTools
com.regexlab.product.ProductKeyInfo.createKey(ProductKeyInfo.java:169)
org.apache.jsp.en.regkeys.index_jsp._jspService(index_jsp.java:126)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
Apache Tomcat/6.0.26
Jar2Exe Personal
Improve for personal Jar2Exe and I have not yet received the change
Activación de la licencia
Hola buenas tardes, alguien que me pueda colaborar no he podido realizar la activacion de la licencia comprada la orden de compra es
3ESQFCA-A4UHC6
De antemano gracias por la atencion prestada y por una pronta solucion
Error downloading without install version
When click on download link browser say "The connectin was reset" and the URL turns to "45.64.22.68/www.jar2exe.com/download/sites/default/files/download/Jar2Exe_x86.zip"
Extend trial
I sent an email requesting to extend the trial. I was told to create a new account, so I did. I get an email for one time login, I sign in. I then have a choice to send a password to my email but entering a captcha continually fails with the following message.... I guess I can't paste the message here.. It says session reuse attack detected. The answer you entered for CAPTCHA is not correct. I have tried using IE, OPERA, and Firefox. This is getting very frustrating in order to extend a trial for a product that I am interested in.
mac, linux not working
i had licensed
but linux, mac file not working
execute-> notting happend
please help
Please `chmod +x yourbinaryfile` before run
Because the windows filesystem could not express the "execute" privilege, after you copy your generated binary file to Linux and Mac, please `chmod +x yourbinaryfile` first.
In the future release I'm thinking to generated a ".zip" file instead to contain the "execute" privilege.
Parameter /checksum:false doesn't work?
May you check command line parameter: /checksum:false
It didn't work for me. But, it works well if I use GUI in j2ewiz.exe
I used available on your site version 2.1.7.1096
This is very important for me, because I would like to use code signing for my EXE-file.
Pages
Add new comment