 | Customized JRE/JDK detection
The executable can detect appropriate Java JREs and JDKs in the Windows registry,
in environment variables, special directories and on the system path. You can
fully customize the search sequence, error handling and supported JRE/JDK versions.
|
 | Optional distribution of a bundled JRE
exe4j allows you to distribute your own private JRE with your application. This way
you can ensure that your application's requirements are definitely met. You can
even configure where the JRE is located.
|
 | Flexible classpath construction
The classpath for your Java application can be fully customized to scan directories
for JAR files, include specific directories and archives as well as insert environment
variables. Customizable error handling allows you to interrupt the startup sequence
with a specific error message instead of obscure NoClassDefFound
exceptions later on.
|
 | GUI or console applications
exe4j lets you compile GUI applications or console applications with an associated
terminal window.
|
 | Windows services
exe4j enables you to easily create a Windows service with Java. With the command
line switches /install, /uninstall, /start and
/stop you have full control over your service.
|
 | Optional inclusion of JAR files into the executable
exe4j lets you include JAR files into the executable - in this way you can distribute
your Java applications as a single EXE file.
|
 | Custom process name instead of java/javaw
exe4j launches your Java application in such a way, that the exe4j executable
and not java.exe or javaw.exe will appear in the task
manager. In Windows XP, the task bar grouping will display the name of your executable
and the associated icon, instead of the non-descript terminal icon and the string "javaw".
|
 | Custom icon for your executable
exe4j lets you specify an icon file that will be compiled into your executable.
This gives your application a much more professional appearance than a batch file
or an executable JAR file would.
|
 | Custom working directory
If required you can adjust the working directory to a specific directory relative
to the executable. This is especially helpful for console applications which
can be invoked from arbitrary directories. This way, you don't need to define
fragile environment variables like MYAPP_HOME.
|
 | VM parameters file
For every executable, you can create a user editable VM parameters file. If your
executable is called hello.exe, the VM parameters file is called
hello.exe.vmoptions and each line in it is added as a single VM parameter.
|
 | Version info resource
exe4j can generate a version info resource entry in your executable. This version
info is displayed for example in the property dialog of the Windows explorer. If
you wish to obtain the "Designed for Windows" logo, this is an important requirement.
|
 | Native splash screen
For GUI applications, a native splash screen gives the users of your application
an optimum feedback about application startup within fractions of a second.
Textual status information about application startup and version information can
be freely placed on the splash screen. From within your Java code, this status
information can be easily updated with one simple call. With exe4j's "auto-off"
mode activated, the splash screen is hidden, as soon as your application displays
a window.
|
 | Redirection of stderr and stdout
Output stream and error stream can be redirected to customized files. This gives
you access to valuable information like an exception stack trace on stderr that
would otherwise be lost for a Java GUI application.
|
 | Startup failure detection
No more flashing terminal windows and GUI applications that hang without displaying
anything. exe4j executables can monitor a stderr output file and display a native
dialog with helpful information to inform about startup failures.
|
 | Optional single application instance enforcement and multiple startup notification
If your application must only be started once, an exe4j generated launcher can enforce
this condition. Existing application windows will be brought to the top if a user
starts the application a second time. The exe4j API allows you to register
a listener that reacts to multiple startups and receives the parameters of the
command line.
|
 | Fully localizable messages of the executable
All messages of the executable are localizable. This way, the executable can blend
into the target locale of your application.
|