VSCode launch settings for DominoJNX and HCL Notes 14.5
I'm not the only one who doesn't like Windows, which is a problem when you depend on Domino Designer. Luckily there is Java and DominoJNX. A decade ago I would use Eclipse on an Intel Mac (and Java8). Much has changed. Java is now 21, the Mac is based on Arm and my primary IDE is VSCode. Here is my setup.
x86 vs. arm
To run a Java app against the Notes 14.5 client there are several steps required:
- An installed and running Notes 14.5 client (duh)
- MacOS Rosetta installed
- a 64Bit x86 JDK (won't work with an ARM JDK)
- A
launch.jsonfile in.vscodeof your project
Installing Rosetta
softwareupdate --install-rosetta
Installing an x86 JDK
I use sdkman to install and switch between Java versions. However any attempt to install an x86 JDK using the sdk command line failed, so I resorted to a manual download:
# Create directory
mkdir -p ~/.sdkman/candidates/java/21-tem-x64/Contents/Home
# Download and extract
mkdir -p ~/temp
cd -/temp
curl -LO https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.5%2B11/OpenJDK21U-jdk_x64_mac_hotspot_21.0.5_11.tar.gz
tar -xzf OpenJDK21U-jdk_x64_mac_hotspot_21.0.5_11.tar.gz
mv jdk-21.0.5+11/* ~/.sdkman/candidates/java/21-tem-x64/
# Verify it's x86_64
file ~/.sdkman/candidates/java/21-tem-x64/Contents/Home/bin/java
the Launch.json file
It comes with little annoyances, the javaExec value would not recognize ~ or ${env:HOME}, so when you share the project you might need to resort to a symbolic link, so your user directory doesn't show up in the setting
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch Main",
"request": "launch",
"mainClass": "your.package.Main",
"env": {
"DYLD_LIBRARY_PATH": "/Applications/HCL Notes.app/Contents/MacOS",
"Notes_ExecDirectory": "/Applications/HCL Notes.app/Contents/MacOS",
"NOTESBIN": "/Applications/HCL Notes.app/Contents/MacOS",
"NotesINI": "${env:HOME}/Library/Preferences/Notes Preferences"
},
"vmArgs": [
"-Djava.library.path=/Applications/HCL Notes.app/Contents/MacOS",
"-Djna.library.path=/Applications/HCL Notes.app/Contents/MacOS"
],
"javaExec": "/Users/yourname/.sdkman/candidates/java/21-tem-x64/Contents/Home/bin/java",
"classPaths": [
"$Auto",
"/Applications/HCL Notes.app/Contents/Resources/ndext/Notes.jar",
"/Applications/HCL Notes.app/Contents/Resources/ndext/glassfish-corba-omgapi.jar"
]
}
]
}
you need to adjust:
- mainClass
- javaExec
As usual YMMV
Posted by Stephan H Wissel on 04 February 2026 | Comments (0) | categories: HCL Notes Java