Jump to content
Excelsior Forums


Excelsior Staff
  • Content count

  • Joined

  • Last visited

Posts posted by kit

  1. >>Which OpenJDK build with JavaFx is JET 15.3 based on? Did JET build it directly from source based on a release tag?

    Yes, it is based on release tag and currently it is 1.8.0_181 (Java8u181).

    >> Will JET plan to be based on some public OpenJDK release build such as AdoptOpenJDK or Amazon Corretto?

    We  have minor patches of OpenJDK that are mainly bug fixes. We plan to publish our own builds of OpenJDK that contain our patches.

    >>but it does not include JavaFx.

    You may use ZuluFX build for development. Now it is based on Java 8u202 but we do not think that it can cause problems.


  2. Actually, Excelsior JET Maven plugin invokes JetPackII itself (xpack actually -- batch mode packager). So you do not need to run it separately.

    In your case "javafx-swing" runtime component should be added via Excelsior JET Maven configuration as described here: https://github.com/excelsior-oss/excelsior-jet-maven-plugin/wiki/Excelsior-JET-Runtime-Configurations#optional-components

    To avoid such problems, it is highly recommended to perform Test Run before build to discover required JET Runtime components that are loaded by your application dynamically.

    Maven command for Test Run is "jet:testrun"

  3. Hi,

    I re-linked the executable with jetpdb you attached and then successfully packed it with xpack without any errors.

    The error means that the built executable is binary incompatible with current JET profile.

    It can happen if you install a Maintenance Pack and used old executable  or you create another JET profile with endorsed jars with jetsetup but as I see it is not your case.

    Please attach the 


    executable and /home/martin/jet-extract-folder/profile1.8.0_144/jetrt/libXKRN15008144.so. Perhaps re-installing JET can also help

  4. On 30.11.2016 at 1:46 PM, LalitSolanki said:

    Hi friend,

    Please give  more information above step-3 and where is put "step-3 (a)".


    In the begining of the project file created by Excelsior JET Control Panel.



    RCP application bundle create successfully then JET required or not? 

    JET is not required for application to run after compilation and packaging the application with Excelsior JET.

  5. hi,

    Is there any plugin in maven which can perform packaging of complete war application. I was able to compile the application using the GUI but i need to integrate this with maven.

    Hi, we have just released the new version of Maven plugin that supports Tomcat Web Applications -- https://github.com/excelsior-oss/excelsior-jet-maven-plugin#building-tomcat-web-applications .

    Please provide your feedback if it meets your needs

  6. As far as we know, Excelsior JET compiled Java applications work ok on Windows 10 right now.

    Excelsior JET 11.0 was not tested against official JCK (Java compatibility test suite) on Windows 10,

    however Excelsior JET 11.3 is planned to be tested there and Windows 10 will be included to the list of officially supported platforms.

    We are going to release Excelsior JET 11.3 in June.


  7. >>As an additional question, what would roughly be the expected maximum heap size in this system, if I set the heap limit to 'Adaptive'

    4GB for 32-bit Excelsior JET, (a factor of) the installed physical memory for 64-bit Excelsior JET.

    >>When I try to use extreme values like 50m or 5000m I see no difference in the application's memory footprint,

    If you set maximum heap explicitly, Excelsior JET should not use more than you set for Java objects (but can use less of course).

  8. Thank you :D

    You saved me from putting efforts in this.

    A few days after posting on excelsior I was also feeling that this idea is not so good, and java9 modularization would be far more better (which I suppose would trickle down to excelsior in some way)

    Thank again.

    And moreover there is a safe solution that is implemented in Excelsior JET eight years ago -- http://www.excelsiorjet.com/solutions/java-download-size

  9. Hi,

    To make it work, you need to set -pack=none (select "none" option for "pack into exe" column on the Classpath Page) for all jars in the classpath.

    But please note that all JetBrains Java based products use custom classloaders to load their classes.

    Classes that are loaded by custom classloaders are handled by JIT in Excelsior JET, except for specially supported classloaders.

    As JIT compiler is rather modest in Excelsior JET, you should not expect any performance benefits when running MPS with our JIT (I would even expect performance slowdown).

    We support AOT compilation mode only for Eclipse RCP (Equinox OSGi) and Tomcat classloaders out of the box.

    We also have secret support for IntelliJ IDEA classloaders (I believe MPS uses the same classloaders as IDEA as they based on the same IntelliJ platform) but it does not support latest versions of IDEA classloaders.

    Unfortunately, as custom classloaders may evolve, our special classloaders support should always be updated to reflect the changes.

    But as we do not sell IntelliJ RCP Platform solution (due to low demand), we update our support for IDEA classloaders only from time to time.

    We had a hope that JetBrains itself would be interested to publish jet-compiled versions of their products (many our engineers use jet-compiled IDEA for work -- it really works faster), but unfortunately we was not able to negotiate with them regarding this subject so far.

    What is your interest to compile MPS with Excelsior JET? Performance?

  10. Hi,

    It seems that you try to create a file in some folder that requires adminstrator rights (such as "Program Files") and UAC blocks it. Just after installation an application runs as adminstrator (but probably we will change it soon) and this way you are able to write files in restricted folders when it runs as admin. Next time it runs with usual right and is unable to write files in restricted folders. You may specify +runAsAdmin option in your project file to force your application always run as admin (that will always pop up UAC window in exchange) or do not write your files in restricted folders.

  11. I was afraid for that answer. Currently compilation of the complete EXE takes 45 minutes.

    We make use of alot of libraries that are static and almost never change. (iText, JGoodies, ...)

    There is actually one core JAR that changes, is there a way you could only let this JAR recompile.

    I recommend you to employ multi-component model to resolve your problem. You may compile all your third-party jars in one DLL and the core jar into exe. This way recompilation of just an exe will be fast and update will be smaller.

    For more information please read JET User's Guide -- http://www.excelsior-usa.com/doc/jet/jetw013.html#0372

  12. We are currently evaluating Excelsior Jet. but i came across a problem.

    I created a project using Excelsior Jet. I created a Self-Contained folder using JetPackII and, at the end of the ride, I clicked create "Save as Updatable".

    I updated one of the JAR files and replaced the original one. I ran JetPackII again and chose New Project -> Update package

    It noticed the updated JAR and I completed the wizard. This resulted in an new directory with only my new JAR inside.

    What am i supposed to do with this file? I copied it to my Excelsior program folder but he still uses the old version of my classes.

    Other than that, very impressed!

    You have to recompile the executable if you change a jar. And update package should contain updated executable not the jar.

  13. Thank you - this might already help me a lot!

    This is due to the fact that I realized that I'm also able to store a normal zip-archive on the computer. Once it got unzipped by an authorized program the specified main-file is being executed.

    So am I able to tell JET where to search for the required files (assuming i stored them in a sub directory of the zip file)?

    If you choose self-contained directory back-end in JetPackII then the resulting directory is what you need: you may zip it or just copy to the target machine. In this case the required files will be found by the main executable file automatically.