Skip to content
Installation

Installation

Maven

Add the dependency to your pom.xml:

<dependency>
  <groupId>org.aesh</groupId>
  <artifactId>aesh</artifactId>
  <version>3.17.5</version>
</dependency>

Gradle

Add the dependency to your build.gradle:

dependencies {
    implementation 'org.aesh:aesh:3.17.5'
}

Annotation Processor (Optional)

To generate command metadata at compile time (5-8x faster startup, no runtime reflection, GraalVM-friendly), add the aesh-processor dependency. See Annotation Processor for details.

Maven

<dependency>
  <groupId>org.aesh</groupId>
  <artifactId>aesh-processor</artifactId>
  <version>3.17.5</version>
  <scope>provided</scope>
</dependency>

Gradle

dependencies {
    annotationProcessor 'org.aesh:aesh-processor:3.17.5'
    compileOnly 'org.aesh:aesh-processor:3.17.5'
}

No code changes are required – Aesh automatically detects and uses the generated metadata when available.

Built-in Commands (Optional)

Add the aesh-builtins module for ready-to-use POSIX-like commands (cat, cd, echo, grep, less, ls, mkdir, mv, pwd, rm, touch, pushd/popd):

<dependency>
  <groupId>org.aesh</groupId>
  <artifactId>aesh-builtins</artifactId>
  <version>3.17.5</version>
</dependency>

Register the commands you want in your application:

AeshConsoleRunner.builder()
    .command(org.aesh.builtins.ls.Ls.class)
    .command(org.aesh.builtins.cat.Cat.class)
    .command(org.aesh.builtins.grep.Grep.class)
    .addExitCommand()
    .start();

Build from Source

Clone the repository and build with Maven:

git clone https://github.com/aeshell/aesh.git
cd aesh
mvn clean install

Requirements

  • Java 8 or higher
  • Maven 3.6+ (if building from source)