I am getting this weird error when trying to run my Java program that I created as well as Jet Control Panel and JetPack 2. I have tried to run it on different computers with the same result.
-
Only if you could read the error message ... – devnull Jun 01 '14 at 18:57
-
Reading it an understanding it are two different inquiries. I can read it as many times as you want but I still don't understand its meaning. – ItsRainingHP Jun 01 '14 at 19:08
3 Answers
In the manual page on configuring the JET Runtime, there is a section about system files shipped with JetPackII, which tells you that JET includes its own copy of the Java runtime libraries.
The error message is telling you that the Java Runtime that is packaged with JET is an expired evaluation version. That indicates that your version of JET is an evaluation version that has expired.
There are several ways to solve this error:
- Pay the licensing fee
- Get a free license for non-commercial use
- Try to install another 90-day evaluation copy
- Find another way to package your software
Background info for the drive-by reader, from the Excelsior JET User's Guide:
Excelsior JET is a toolkit and complete runtime environment for optimizing, deploying and running applications written in the Java programming language.

- 3,233
- 1
- 20
- 17

- 31
- 2
Maybe you could try to re-install the java runtime environment(jre) and then export it again. Did you try running it without putting it in an exe?

- 312
- 1
- 2
- 12
-
Well I can't reinstall the JRE because it is a work computer, I can try to reinstall it on my laptop and get it working. I will get back to you on that. The program works fine in the IDE but I will try it as a Jar and get back to you on that as well. – ItsRainingHP Jun 01 '14 at 19:20
When compiled, most Java applications wind up as a series of .class
files (containing bytecode) that are then archived into a .jar
(java archive) file. This JAR file is actually a zip-format file that corresponds to certain layout and compression specifications. In order to be run, that JAR file must be fed into a Java Runtime Environment (JRE), which contains libraries as well as a virtual machine (JVM) and is typically downloaded straight from Oracle's servers.
Unlike a jar
file, an exe
file contains code that Windows can run natively without a JRE. By outputting an .exe
file, your IDE is doing one of two things:
Adding a "stub" that finds a JRE that the user already installed, and then feeding the rest of the application packaged as Java bytecode in that
exe
file into it. If a JRE cannot be found, the program fails. An example would be the possibly-defunct JSmooth library.Packaging the application with an entire Java Runtime Environment itself, which allows it to execute the Java bytecode regardless of what is already installed on the user's system. You may have to purchase a license to redistribute the JRE (which may or may not be Oracle's official JRE) alongside your application. This is likely what's happening to you here.
To help confirm that this is the case, post the name of the IDE you're using, and inspect the choices under your exe
-generation command regarding redistribution, licenses, runtimes, and JREs/JVMs.
StackOverflow does have some existing answers about "converting a Java program into a .exe file", which you may find helpful for context.

- 1
- 1

- 90,959
- 16
- 217
- 251
-
Well your second answer might be right I just don't understand why it is doing the same thing to my JetPack.exe which I have installed but it doesn't do it to any other java running programs. – ItsRainingHP Jun 06 '14 at 22:57
-
Your other Java programs may be running on your system's JRE, which may be in good shape, or perhaps your IDE had a trial that expired. I don't have enough information to tell for sure. – Jeff Bowman Jun 07 '14 at 07:23