Installation
Maven
Add the dependency to your pom.xml:
<dependency>
<groupId>org.aesh</groupId>
<artifactId>readline</artifactId>
<version>3.16</version>
</dependency>Using the BOM
For multi-module projects, the BOM ensures consistent versions across all aesh-readline modules:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.aesh</groupId>
<artifactId>aesh-readline-bom</artifactId>
<version>3.16</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.aesh</groupId>
<artifactId>readline</artifactId>
</dependency>
</dependencies>Gradle
Add the dependency to your build.gradle:
dependencies {
implementation 'org.aesh:readline:3.16'
}Or with the BOM:
dependencies {
implementation platform('org.aesh:aesh-readline-bom:3.16')
implementation 'org.aesh:readline'
}Build from Source
Clone the repository and build with Maven:
git clone https://github.com/aeshell/aesh-readline.git
cd aesh-readline
mvn clean installTerminal Connectivity
Aesh Readline includes modules for remote connectivity:
SSH Support
<dependency>
<groupId>org.aesh</groupId>
<artifactId>terminal-ssh</artifactId>
<version>3.16</version>
</dependency>Telnet Support
<dependency>
<groupId>org.aesh</groupId>
<artifactId>terminal-telnet</artifactId>
<version>3.16</version>
</dependency>HTTP/WebSocket Support
<dependency>
<groupId>org.aesh</groupId>
<artifactId>terminal-http</artifactId>
<version>3.16</version>
</dependency>Java Version Requirements
- Java 8+: Full functionality via JNI/exec-based terminal I/O
- Java 22+: FFM-based terminal I/O for better performance (add
--enable-native-access=ALL-UNNAMED) - Maven 3.6+ for building from source
See GraalVM Native Image for native compilation support.