Configure Eclipse 4.2 for Notes 9

Please note: This is an update of my Configure Eclipse 3.5 for Notes 9 to make Eclipse 4.2 work with Notes 9. If you experience any issues please let me know.

To set up Eclipse manually for Notes development you need to create three things – 1) the Java Virtual Machine (JVM) to use, 2) the target platform that is a definition of the Eclipse based product you’re developing for (here Notes), 3) the run configuration that is the configuration that defines which plugins from your workspace to bring with up into the target platform. You can have as many run configurations as you like e.g. to test different products or configurations.

When using the below description you need to know three pieces of information about your Notes installation: install_id, rcp.base_version and rcp.path. Below is a table with this information for various releases of Notes.

Notes version Description
Notes 9.0.1
install_id=1383036546809
rcp.base_version=9.0.1.20131002-1404
rcp.home=<Notes binary directory>\framework
Notes version Description
Notes 9
install_id=1363867831571
rcp.base_version=9.0.0.20130228-1411
rcp.home=<Notes binary directory>\framework
Notes 9 Public Beta
install_id=135548059835
rcp.base_version=9.0.0.20121130-2130
rcp.home=<Notes binary directory>\framework

The binary Notes directory is in my Windows example C:\Notes9.

Step-by-step video instructions (Windows)

Step-by-step instructions (Windows)

  1. Download the latest build of Eclipse 4.2 for RAP/RCP developers from eclipse.org. Please note that you must download the 32 bit version to make it work correctly.
  2. Unzip the zip-file and launch Eclipse using eclipse.exe creating a workspace.
  3. Note the install path of your Notes 9. If you have a space in the path name I suggest using the 8:3 name instead (e.g. c:\progra~1\notes9 instead of c:\Program Files\Notes9 – if not (or if the path contains a space) you will have to enclose the directory name in quotes for rcp.home for instance). In the following I will refer to this location as <Notes>.
  4. Add the Notes 9 JVM
    1. Select “Window\Preferences” from the menu
    2. Select “Java\Installed JREs”
    3. Click “Add”
    4. Select “Standard VM”
    5. Specify <Notes>\jvm
    6. Name the JVM “Notes 9”
    7. Click “Finish”
    8. Click “OK”
  5. Configure the target platform
    1. Select “Window\Preferences” from the menu
    2. Select “Plug-in Development\Target Platform”
    3. Click the “Add…” button to create a new target platform.
    4. Select “Nothing: Start with an empty target definition” and click “Next”
    5. Specify a name for the target platform (e.g. “Notes 9”)
    6. Click the “Add…” button to add a plugin location and select “Directory” as the type and click Next
    7. Browse to “<Notes>\framework\rcp\eclipse” and click “Finish” to add the directory
    8. Repeat the above two steps for “<Notes>\framework\shared\eclipse”
    9. Your target platform should look like this
    10. Click OK
    11. Check of the checkbox next to the target platform configuration you just created to make it the default (it will turn bold)
  6. Create a run configuration
    1. From the menu create a new run configuration by selecting “Run/Run Configurations…”
    2. Right-click “Eclipse Application” and select “New”
    3. “Main”-tab
      1. Name: Notes 9
      2. Run a product: com.ibm.notes.branding.notes
      3. Runtime JRE: Notes 9 (the JVM you created above)
    4. “Arguments”-tab
      1. Program arguments:
        -personality com.ibm.rcp.platform.personality
        -product com.ibm.notes.branding.notes
        -debug
        -console
        -nl en_US
      2. VM arguments:
        -Xshareclasses
        -Xss1m
        -Drcp.home=${rcp.home}
        -Dcom.ibm.rcp.install.id=${install_id}
        -Drcp.install.config=user
        -Dosgi.install.area=${rcp.home}\eclipse
        -Dcom.ibm.pvc.osgiagent.core.logfileloc=${rcp.home}\rcp
        -Dcom.ibm.pvc.webcontainer.port=0
        -Declipse.pluginCustomization=${rcp.home}\rcp\plugin_customization.ini
        -Declipse.registry.nulltoken=true
        -Djava.protocol.handler.pkgs=com.ibm.net.ssl.www.protocol
        -Djava.util.logging.config.class=com.ibm.rcp.core.internal.logger.boot.LoggerConfig
        -Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook
        -Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook
        -Xbootclasspath/a:${rcp.home}\rcp\eclipse\plugins\com.ibm.rcp.base_${rcp.base_version}\rcpbootcp.jar;
      3. Click the “Variables…” button
      4. Click the “Edit Variables…” button
      5. Add the following variables
        • install_id=(see table above)
        • rcp.base_version=(see table above)
        • rcp.home=(see table above)
      6. Click “OK”
      7. Click “Cancel” (it’s important to click Cancel the second as you otherwise will add a variable to the arguments. If you do just redo the arguments-step above.
    5. “Plug-ins”-tab
      1. Launch with: plug-ins selected below only
      2. It’s here you select the plugins to bring with you from your workspace into the Notes client. Select the plugins you need – you can always come back and add/remove plugins
    6. “Configuration”-tab
      1. Configuration file: Use an existing config.ini file as a template
      2. Location: <Notes>\Data\workspace\.config\config.ini
    7. Click “Apply”
    8. Click “Run”
    9. If all went well the Notes client should now start from your Eclipse environment. Please note that the Notes client, Domino Administrator or Domino Designer may not already be running.

Resources

2 thoughts on “Configure Eclipse 4.2 for Notes 9”

  1. Thanks Mikkel.
    This article is still valid for newer releases of Notes. A few things to note:

    Eclipse must still be 32 bit. If you use the latest 64 bit your custom plugins will not load.

    VM arguments
    -Dosgi.install.area=${rcp.home}\eclipse
    needs to be changed to
    -Drcp.osgi.install.area=${rcp.home}\eclipse

    The Notes 12.0 variables (as found in \framework\rcp\rcplauncher.properties) are:
    – install_id: “1629781684647”
    – rcp.base_version: “10.0.0.20210507-1607”
    – rcp.home: “\framework” e.g. “C:\Progra~2\IBM\Notes\framework”

    Like

    1. Thank you Andrew for posting this – appreciate it. Apparently all these steps are still very valid as the underpinnings of the Notes client apparently haven’t changed.

      Like

Leave a comment