--- title: "Java" url: https://docs.catalyst.zoho.com/en/tools/tunneling/implementation/ide-config/java/ description: "Catalyst Tunneling allows you to debug Non-HTTPS and Integration functions by routing function calls to your local system using a rever-proxy provider's tunneling URL." last_updated: 2026-08-17T12:16:04Z service: All Services type: general --- # Configure IDE to Debug Java Functions For the purposes of this help documentation we are going to illustrate how to configure debugging preferences of Java non-HTTPS and Integration functions in Visual Studio Code, IntelliJ IDEA, and Eclipse IDEs. > **Note:** This step is only applicable if you wish to **debug your tunneled functions** and if you have used the following CLI command: ```sh catalyst functions:shell --tunnel tunnel-port-number --debug port-number ``` If you wish only to tunnel your functions and you have used the following CLI command then no IDE configurations is required. ```sh catalyst functions:shell --tunnel tunnel-port-number ``` This command will **only tunnel your functions** and publish the logs of the functions in the Catalyst CLI. **Visual Studio Code** ### Configure Visual Studio Code IDE's Debugger 1. Ensure you have all the functions you need to debug in the local machine, and open the concerned project in VS Code. ![catalyst_tunneling_debug_vscode_java_openprojec](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debug_vscode_java_openprojec.webp) 2. Click the **Run/Debug** button present in the menu-bar and create a `launch.json` file, by clicking the "**create a launch.json file**" option. ![catalyst_tunneling_vscode_debug_create_json_high](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debug_create_json_high.webp) This is how the launch.json file appears before you begin configurations. ![catalyst_tunneling_vscode_debug_create_json_high](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_vscode_debug_create_json_high.webp) 3. Copy the JSON snippet below and paste it as value in the "**configurations**" JSON key. **launch.json** ```json "configurations": [{ "type": "java", "name": "java_cron", // name can be any name but having the same function name will be helpful while debugging "request": "attach", "hostName": "localhost", "port": 9001,// The debug port number which you specified in the catalyst functions:shell --tunnel 8001 --debug 9001. The port number can be any number which is not being used by any other processes "projectName": "java_cron"// The function name }], ``` 4. Save this file and apply the breakpoints in your required lines of code and proceed to the [next step](https://docs.catalyst.zoho.com/en/tools/tunneling/implementation/debug-tunneled-func/java/). ![catalyst_tunneling_debug_vscode_java_brkpts_set](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debug_vscode_java_brkpts_set.webp) **IntelliJ IDEA** ### Configure IntelliJ IDEA IDE's Debugger 1. Import your project directory in IntelliJ IDE, and configure the run time JDK to match your Java version. ![catalyst_tunneling_intellij_debugger_java_start](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_intellij_debugger_java_start.webp) > **Note:** You can find out how to configure your JDK in IntelliJ IDEA by visiting their [official help documentation](https://www.jetbrains.com/help/idea/sdk.html). 2. Click **Run>Edit Configurations**. ![catalyst_tunneling_intellij_debugger_java_run_selection](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_intellij_debugger_java_run_selection.webp) 3. Click the **+ icon**, select **Remote JVM Debug** option from the pop-up, and click **OK**. ![catalyst_tunneling_intellij_debugger_java_remote_javm_debugger](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_intellij_debugger_java_remote_javm_debugger.webp) 4. Ensure you set the following values in the pop-up: - Name: Set it as your project name or any other name of your preference. - In the *Configurations* tab: - Debugger mode: **Attach to remote JVM** - Host: **localhost** - Port: Set the same port value you set for debugging in the Catalyst CLI. - Use module classpath: Select the path of your project directory. - Click **OK**. ![catalyst_tunneling_intellij_debugger_java_configurations](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_intellij_debugger_java_configurations.webp) 5. Set the required debugging points in your code, and proceed to the [next step](https://docs.catalyst.zoho.com/en/tools/tunneling/implementation/debug-tunneled-func/java/). ![catalyst_tunneling_intellij_debugger_java_finally_debug](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_intellij_debugger_java_finally_debug.webp) **Eclipse** ### Configure Eclipse IDE's Debugger 1. Import your project directory in *Eclipse IDE*. ![catalyst_tunneling_debugging_java_eclipse_import_proj](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_import_proj.webp) 2. Ensure your Java stack and JDK are in the same version by right-clicking your project list and selecting **Build Path > Configure Build Path**. ![catalyst_tunneling_java_debug_eclipse_configure_build_path](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_java_debug_eclipse_configure_build_path.webp) 3. Select **Project Natures**. Search for "**Java**", select "**java**" from the list and click **OK**. ![catalyst_tunneling_debugging_java_eclipse_project_nature](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_project_nature.webp) 4. Ensure **Java Compiler** is selected, and click **Apply and Close** to add the Java compiler for your project. ![catalyst_tunneling_debugging_java_eclipse_select_java_compiler](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_select_java_compiler.webp) 5. Next, right-click your project directory and click **Debug As > Debug Configuration**. ![catalyst_tunneling_debugging_java_eclipse_debug_configurations](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_debug_configurations.webp) 6. Search for *Remote Java Applications*, right-click on the search result and select **New Configurations**. ![catalyst_tunneling_debugging_java_eclipse_select_java_new_configuratons](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_select_java_new_configuratons.webp) You will be directed to a **Debug Configurations** pop-up. 7. Ensure you have configured the debugger with the following values: - *Connect* tab: - Select your project directory - Set Connection Type as "**Standard (Socket Attach)**" - Set *Connection Properties* as: - Host: **localhost** - Port: Enter the port number you set for debugging in the Catalyst CLI ![catalyst_tunneling_debugging_java_eclipse_connect_tab](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_connect_tab.webp) - *Source* tab: - Click the **Add** button and select the function directory ![catalyst_tunneling_debugging_java_eclipse_source_tab](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_source_tab.webp) Once you have applied the required configurations, click **Debug**. 8. Open your function file and set your required debug points in your code, and proceed to the [next step](https://docs.catalyst.zoho.com/en/tools/tunneling/implementation/debug-tunneled-func/java/). ![catalyst_tunneling_debugging_java_eclipse_final_debug](https://catalyst-docs-development.zohostratus.in/images/catalyst-extension/tunneling/catalyst_tunneling_debugging_java_eclipse_final_debug.webp)