# Installation

## 1. Prerequisites <a href="#id-1-prerequisites" id="id-1-prerequisites"></a>

* HCL Domino 9.0.1 FP8 or higher (Java Virtual Machine 1.8+ requirement)

{% hint style="warning" %}
To avoid out-of-memory errors in the Java Virtual Memory (JVM), make sure the JVM heap size is set to at least 256 MB in the Notes.ini on the HCL Domino server, e.g. `JavaMaxHeapSize=256MB`
{% endhint %}

## 2. Installation <a href="#id-2-installation" id="id-2-installation"></a>

* [Download](/download/download.md) and unzip the installation package.
* Copy the `JAddin.class` and `JAddinThread.class` from the installation package to your development environment.
* Copy the `notes.jar` file from your HCL Notes or HCL Domino installation to your development environment.

## 3. Application Distribution <a href="#id-3-application-distribution" id="id-3-application-distribution"></a>

To distribute and install your add-in, you must create a JAR container which includes:

* a valid `MANIFEST.MF` file&#x20;
* The framework files `JAddin.class` and `JAddinThread.class`.
* Your application class (e.g. `AddinName.class`)

### **MANIFEST.MF**

Make sure that the last line of the file is terminated with a newline character.

```
Manifest-Version: 1.0
Class-Path: .
Main-Class: AddinName
```

### **JAR container**

There are several tools available to create JAR containers. The easiest way is to use the command line.

`jar cvmf MANIFEST.MF AddinName.jar AddinName.class JAddin.class JAddinThread.class`

This example creates a new `AddinName.jar` file with the application `AddinName.class` and the two JAddin framework files.

### **Install Application**

Copy the JAR container to the `domino/ndext` directory. This directory is automatically searched by the RunJava task for any Java classes to load.

## 4. Run Application <a href="#id-4-run-application" id="id-4-run-application"></a>

There are several ways to start the application:

#### **Option 1: Program Document**

The easiest and recommended way is to add a program document in the HCL Domino directory.

![Sample Program Document](/files/-MS2zHU04KU0Fkt-BN01)

#### **Option 2: Console Command**

Enter the command `Load RunJava JAddin AddinName` in the HCL Domino console.

```
> Load RunJava JAddin HelloWorld
21.06.2025 14:01:26   JVM: Java Virtual Machine initialized.
21.06.2025 14:01:26   RunJava: Started JAddin Java task.
21.06.2025 14:01:26   HelloWorld: Started
21.06.2025 14:01:26   HelloWorld: User code is executing...
21.06.2025 14:01:31   HelloWorld: User code is executing...
21.06.2025 14:01:36   HelloWorld: User code is executing...
21.06.2025 14:01:41   HelloWorld: User code is executing...
> Tell HelloWorld Quit
21.06.2025 14:01:50   HelloWorld: Termination in progress
21.06.2025 14:01:51   HelloWorld: Terminated
21.06.2025 14:01:53   RunJava: Finalized JAddin Java task.
21.06.2025 14:01:54   RunJava shutdown.
```

#### **Option 3: Notes.ini**

You may change the line starting with `ServerTask=` to include the task to be started, e.g.

`ServerTasks=Replica,Router,Update,RunJava JAddin AddinName,AMgr,...`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jaddin.k43.ch/quick-start/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
