JAVA_HOME location must exist

Hi everyone,

I am currently trying to use Katalon Studio for its Mobile Recorder feature to generate tests for a mobile application. I have gone through the setup instructions and installed the following:

  • Appium (v1.18.1, after downgrading from v2.x)
  • JDK (Java 17)
  • Android Studio (latest stable)

When I run the Mobile Recorder, it shows a progress bar and logs probably initialising the app. However, right after that, I get the following error:

Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: The JAVA_HOME location ‘/Applications/Katalon Studio Enterprise.app/Contents/Eclipse/jre/Contents/’ must exist

Here’s what I have tried:

  • Verified the correct JDK path is set in Katalon > Preferences > Java > Installed JREs (set my actual JDK 17 install as default).
  • Updated my ~/.bash_profile with my actual path as an env variable.
  • Confirmed java -version and echo $JAVA_HOME both show the correct path.
  • Tried launching Katalon Studio directly from the terminal to inherit the updated shell env.

Still, Katalon keeps falling back to the embedded Java path at .../Katalon Studio Enterprise.app/Contents/Eclipse/jre/... even though I removed that entry from the Installed JREs section.

Has anyone else faced this issue? Any help would be appreciated, thanks.

1 Like

To resolve the JAVA_HOME location must exist error in Katalon Studio when using the Mobile Recorder with Appium, follow these steps:


1. Ensure Katalon Uses the Correct JDK

  • Set JDK Path in Katalon:
    • Go to Preferences > Java > Installed JREs.
    • Remove the embedded JRE entry (.../Katalon Studio Enterprise.app/Contents/Eclipse/jre/...).
    • Add your JDK 17 path (e.g., /Library/Java/JavaVirtualMachines/jdk-17.x.x/Contents/Home on macOS).
    • Set it as the default JRE.
  • Verify via Terminal:

bash

# For macOS/Linux
echo $JAVA_HOME
# Should show: /Library/Java/JavaVirtualMachines/jdk-17.x.x/Contents/Home

# For Windows
echo %JAVA_HOME%
# Should show: C:\Program Files\Java\jdk-17.x.x

2. Force Katalon to Use System JDK

  • Edit Katalon’s Configuration File:
    • Locate the Katalon startup script (katalon.ini or katalon.vmoptions).
    • Add the following line to explicitly set java.home:
-Djava.home=/path/to/your/jdk-17.x.x/Contents/Home
  • Example for macOS:
-Djava.home=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home

3. Reinstall Appium with Java 17 Compatibility

  • Uninstall Appium 1.18.1:

bash

npm uninstall -g appium@1.18.1
  • Install Appium 2.x (recommended for Java 17 support):

bash

npm install -g appium@next
  • Use Appium’s --allow-insecure flag if necessary.

4. Update Environment Variables

  • Set JAVA_HOME Globally:
    • For macOS/Linux:

bash

export JAVA_HOME=$(/usr/libexec/java_home -v 17)
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrc  # or ~/.bash_profile
  • For Windows:
    • Set JAVA_HOME in System Properties > Environment Variables.

5. Launch Katalon from Terminal

  • Ensure Katalon inherits the correct JAVA_HOME:

bash

# macOS
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.x.x/Contents/Home
open -a "Katalon Studio"

# Windows
set JAVA_HOME=C:\Program Files\Java\jdk-17.x.x
start "Katalon Studio"

6. Check for Conflicting Java Versions

  • List installed JDKs:

bash

/usr/libexec/java_home -V  # macOS
  • Uninstall older JDKs (e.g., Java 8) if not needed.

7. Verify Appium Server Configuration

  • Start Appium manually to debug:

bash

appium --log-level debug
  • Look for Java-related errors in the logs.

8. Final Fix for Embedded JRE Fallback

If Katalon still uses its embedded JRE:

  • Symlink Your JDK to Katalon’s Expected Path (macOS):

bash

sudo ln -s /Library/Java/JavaVirtualMachines/jdk-17.x.x/Contents/Home /Applications/Katalon\ Studio.app/Contents/Eclipse/jre
  • Caution: This overwrites Katalon’s internal JRE. Backup first.

Troubleshooting Checklist

Issue Solution
Incorrect JAVA_HOME in Katalon Recheck Preferences > Java > Installed JREs
Appium compatibility Use Appium 2.x or downgrade to Java 11/8
Environment variables not loaded Launch Katalon from terminal
Conflicting JDKs Uninstall old JDKs and update JAVA_HOME

Hi Dineshh,

Thanks for such a detailed post reply! I appreciate your help.

I tried following all these steps, yet I still face the same error. I upgraded appium’s version to 2.19.0, but then it wont even start the recorder saying “Failed to start Appium server in 60 seconds”.

Symlinking didnt help too :frowning:

Hi @suyashabob41,

Thank you for sharing your issue. You can find the workaround for the problem

here: https://katalon-inc.my.site.com/support/article/Troubleshooting-Fail-to-start-Appium-server-in-60-seconds. Otherwise, which KS version are you using? If it is not the latest, please help upgrade it because we handle with Appium 2x with newer version. Thank you

can you share full error trace along with katalon version, OS, jdk etc

Hi @Elly_Tran,

Thanks your reply!

I am using Katalon version 10.2.1. I tried following all steps from the troubleshooting guide, but still face the same error :frowning:

Hi @dineshh,

Thanks for checking in with me again. Below is the error trace I received. The KS version I am using is the latest one 10.2.1 and I am on macOS Monterey using JDK 17.

java.util.concurrent.ExecutionException: com.kms.katalon.core.appium.exception.AppiumStartException: Fail to start Appium server in 60 seconds
	at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:49)
	at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite$12.run(MobileLocalAppComposite.java:491)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124)
Caused by: com.kms.katalon.core.appium.exception.AppiumStartException: Fail to start Appium server in 60 seconds
	at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServerJS(AppiumDriverManager.java:281)
	at com.kms.katalon.composer.mobile.objectspy.dialog.MobileInspectorController.startMobileApp(MobileInspectorController.java:205)
	at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite.startLocalAppAsNormal(MobileLocalAppComposite.java:564)
	at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite.smartStartAndroidApp(MobileLocalAppComposite.java:548)
	at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite.smartStartApp(MobileLocalAppComposite.java:526)
	at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite$12$1.call(MobileLocalAppComposite.java:497)
	at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.startThreadAndWait(ProgressMonitorDialogWithThread.java:36)
	at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:48)
	... 2 more

Thanks in advance.

is this happening only in 10.2.1 version? can you downgrade to lower version and confirm

How about trying NOT to set custom JRE path so that you use the Katalon-bundled JDK17? — it may pass; then you should raise a bug report to Katalon.

I did the symlinking again. It doesnt show the JAVA_HOME error now. So, thats solved!

I just had to modify the path a bit. Thanks for all the helpful pointers provided for this issue.

1 Like

Hi @kazurayam,

Thanks for the reply!

I did try that, however it did not help as the path it was pointing to didnt exist. Creating a sym link my preferred JDK path helped.

What did you do actually?

your issue resolved?

In the error message, I see the path

'/Applications/Katalon Studio Enterprise.app/Contents/Eclipse/jre/Contents/’

This path is simply wrong. You should correct it.

I checked my Katalon Studio installed on my mac:

Here I see the path

/Applications/Katalon Studio Enterprise.app/Contents/Eclipse/jre

which is right, does exist.

I created a sym link between the two directories as @dineshh mentioned

Yes, it did using the symlink approach you mentioned.

1 Like