Jump to content
Excelsior Forums


Excelsior Staff
  • Content count

  • Joined

  • Last visited

Posts posted by zztop

  1. Our results on your benchmark (64-bit versions of Excelsior JET participate), the smaller, the better:

    data length: 18413

    Excelsior JET 11.3 (default)
    Total time for 200000 Repetitions: 37,115,176,783

    Excelsior JET 12 (default)
    Total time for 200000 Repetitions: 29,748,295,723

    Excelsior JET 12 (PGO enabled)
    Total time for 200000 Repetitions: 14,051,042,243


    Performance of Arrays.copyOfRange() across these versions is basically the same.

    The results will tend to improve in future releases too.

  2. Actually, you can exclude LGPL jars from the project and compile them into a separate DLL. Make sure it's not explicitly imported in the main project via the !uses directive.

    After that, use run-time linking as described in https://www.excelsiorjet.com/docs/jet/jetw012#0383

    As a result, you ship optimized code in a DLL. If and when an end user wishes to replace it with jars, s/he can do that and the jars will be loaded by JIT (with performance loss, though).



  3. It's a known issue (for jar files compiled in the "pack into exe" mode) and it will be fixed in the next release (Dec 2014).

    For now, you can either:

    - get code source from a class residing in a jar not packed into exe, if any; or

    - define your own VM options and use its for loading the library (if you define its value as $(Root)in JetPackII, it will hold the path to installation directory)

  4. I have tried to use evalutional version of Excelsior Jet to build my web application into a executable file, but got error message as attached file while running tomcat at step 2 of 7: Perform a test run. It seems cause by spring framework?

    My web application is develop by Google Web Toolkit + Spring framework + OpenJPA and using MSSQL as database.


    We need an example to reproduce and investigate the problem on our end.

    Please contact us via e-mail: java at excelsior-usa.com

  5. I evaluated the latest version of your software and would like to ask if there is a way to protect the rt.jar in libs directory which gets distributed. Say for example a hacker alters one of the classes to subvert a part of my code, how does the jvm deal with this?

    rt.jar is already protected as it is pre-compiled in a set of JET Runtime DLLs/shared libs located in <jet home>\profile1.7.0_40\jre\jetrt

    When you prepare your app for deployment with the JetPackII tool, rt.jar is not present in the resulting installation.

  6. Hello,

    To give a complete description of the situation:

    1. In both versions of JetPack II (8.0 and 9.0, same underlying jpn file loaded) I have the same flags: -D jet.jit.fast and -D jet.jit.cache.

    2. Same prj file loaded in the Excelsior control panel:

    - in Excelsior 8.0, step 4, under JIT Compiler: JIT operation mode = Fast (lower overhead); JIT caching mode = Enabled (use default directory);

    - Excelsior 9.0, same context: JIT operation mode = Fast (lower overhead) - even if I select another option under from the drop-down box, it will revert to this selection; JIT caching mode - again, no matter what I select, it defaults back to Disabled. I guess this is why I get the warning at runtime.

    Thank you.

    Caching JIT was deprecated in Excelsior JET 8.0 and it's now removed (since version 9.0). For more details, refer to the Deprecated Features chapter of Excelsior JET 8.0 User's Guide.

  7. We are having an intermittent issue with JetPackII ever since migrating to JET 8 mp1 from JET 7.6.

    The issue was present in JET 8 (without mp1) and is still present after applying mp1.

    This is on a Windows 8 build machine. Our previous build machine was running Windows 7.

    When using the Excelsior Jet Installer option for packaging, the resulting executable is most often corrupted. We get the error as per the attached image.


    This happens irregardless of the compression method used. This is also happening on all of our software projects.

    If we try multiple times, we eventually get a good executable. However, this trial and error approach is getting time consuming.

    Right now, we have to run JetPackII, test and repeat until we get an executable that finally works.

    Please help.

    We have never encountered such a problem on our end.

    Does the problem appear on other machines?

    Also please check if this problem is related to interference with anti-virus monitors that used to detect Excelsior Installer executables as malware (false-positive results).

  8. Hello! There is Intellij Idea 10.5.2 compiled by Excelsior Jet in applications gallery. With JetBrains' PyCharm 3rd version there is also Community Edition. Can someone compile PyCharm 3.0.1 (both Community Edition and Professional Edition - I have personal key until April) with Excelsior Jet? I read that Excelsior Jet helps to remove long hangs on GC in Idea.

    We do not plan to publish a JET-compiled version of PyCharm due to low demand.

  9. My build process generated a folder with hundreds of files, which I include in my JetPackII project.

    The issue here is that the files in that folder change at every build. As such, I am not able to use xpack as it complains that the previously included files are not longer there.

    Excelsior JET Installation Toolkit does not support this scenario. That's a known problem previously reported by other customers and your voice is counted - we will include the issue in our mid-term plans.

    For now, you can use the following workaround:

    1. Keep this directory (let's name is A) in JetPackII package files but make it empty and use the "Self-contained directory" back-end (this way, xpack will generate a directory containing your app and JET Runtime files.)
    2. Copy the necessary files to directory A and wrap the package into a third-party installer such as NSIS or InnoSetup.

  10. We have a project composed of several .prj files that generate DLLs and then one that generates an EXE, using those libraries.

    We've encountered a StackOverflowError in a portion of our code that uses recursion. We could probably address this issue in a variety of ways, including just using iteration in the first place.

    But the question is this: in our multi-.prj setup, if we were going to adjust the -stacklimit or -genstackalloc options, would we need to do so in only the EXE-producing file (as seems intuitive), or in all files? Should these directives even appear in the other, DLL-producing prj files? It seems we currently do have the -genstackalloc+ line in all files.

    The "genstackalloc" options affects code generation and should be enabled/disabled in the projects files of interest (EXE and DLLs). The "stacklimit" option is, in essence, a run time setting and yes, it's enough to specify it in the EXE's project file.

  11. 1> Will it work on windows 8?


    2>Can i create 32 bit and 62 bit application? (Windows only)

    Yes. Note however that 32-bit and 64-bit Excelsior JET are two different products.

    How is excelsior different from install4j,innosetup,launch4j etc? Those programs deploy web web app bundled with tomcat.

    The difference is code protection. Using Excelsior JET you deploy optimized native code (hard to reverse engineer) instead of jar and war files with classes. For more details, please refer to the Protect Java Web Applications page.

  12. On windows 7 JET 4.5 works fine except JETPACKII.

    Do somebody know a workaround for using JETPACKII 4.5 on Windows 7?

    Excelsior JET 4.5 (released in 2006) does not support Windows 7 and we do not recommend to use it on this OS. Even if some applications seem to work I would not rely on it.