Set - Custom JAVA_HOME and Archi.ini

Started by Drakey, January 26, 2024, 11:06:49 AM

Previous topic - Next topic

Drakey

We are using Microsoft Windows System Environment variables on our clients devices to switch applications to use the  desired OpenJDK vendor or version, and hoping someone can show us how we can then use this System Environment variable in the Archi.ini file  :)

Example

Windows System Environment Variable

JAVA_ECLIPSE_21 = C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot

Now we want to use the %JAVA_ECLIPSE_21%\bin variable to set the Java Path Archi will use through the Archi.ini file.  Any help would be greatly appreciated  :P

Phil Beauvoir

#1
Hi, if you delete Archi's "jre" folder it will use the Java as set in the system environment JAVA_HOME or the environment path. If you want to use a specific JRE you can add the following to Archi.ini (before the -vmargs section):

-vm
C:\PathToJRE\bin

Your "JAVA_ECLIPSE_21" variable won't be read in Archi.ini

Please note that Archi has been tested with Java 17. Java 21 should be OK, but it's not tested or supported.
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

Drakey

Thanks for the response, Yes got it working using absolute path, but needed the use of an environment variable, which you have also answered

Your "JAVA_ECLIPSE_21" variable won't be read in Archi.ini.....I can now stop looking and playing  :)

Many Thanks

The reason for asking was that once the Archi was deployed to clients, we could have continued in the background to update the client's Java minor release versions independently of the Archi application being repackaged and not break it. 

As currently when we install the latest Java version (same release just minor update) on the client, we also update the equivalent System environment variable to the new Java location, so in theory, was hoping that the same variable could have been used in the Archi.ini and it would automatically have used the new path to the latest java