Skip to content

Getting Started

Docker

shell
$ docker run -p 8102:8102 eclipsejifa/jifa
$ docker run -p 8102:8102 eclipsejifa/jifa

Docker Image Link

jifa.sh

shell
# http://localhost:8102
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash

# Change the port
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- -p <port>

# Analyze local files
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- <file1 path> <file2 path> ...

# Add JVM Options
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- --jvm-options "<JVM options>"
# http://localhost:8102
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash

# Change the port
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- -p <port>

# Analyze local files
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- <file1 path> <file2 path> ...

# Add JVM Options
$ curl -fsSL https://raw.githubusercontent.com/eclipse/jifa/main/jifa.sh | bash -s -- --jvm-options "<JVM options>"

Tip

jifa.sh encapsulates docker command. If you prefer to use the docker directly and also want to modify the server port or analyze local files, please refer to it.

Releases

Platform support: linux/amd64, linux/arm64. For other platforms, please build from source code.

  1. Download the latest release from here.
  2. unzip jifa.zip
  3. ./jifa/bin/jifa

From Source

Prerequisites

  • JDK 17+
  • Node.js 18+

Run

shell
# run as standalone worker 
$ ./gradlew runStandaloneWorker

# run as master
$ ./gradlew runMaster

# run as static worker
$ ./gradlew runStaticWorker
# run as standalone worker 
$ ./gradlew runStandaloneWorker

# run as master
$ ./gradlew runMaster

# run as static worker
$ ./gradlew runStaticWorker

You can also run these tasks in IDE.

For the introduction of roles, please refer to deployment.

Frontend

Frontend code will be automatically bundled into the server, but it won't be automatically re-bundled after changes. To facilitate the development and debugging of the frontend code, you can run a dev server with the following command:

shell
$ cd frontend

$ npm ci

# http://localhost:8089
$ npm run dev
$ cd frontend

$ npm ci

# http://localhost:8089
$ npm run dev

Build

shell
$ ./gradlew build

# skip test
$ ./gradlew build -x test
$ ./gradlew build

# skip test
$ ./gradlew build -x test

The output can be found in ./server/build/distributions.

Docker Image

Use Dockerfile in the project root directory.