Files
JavadocViewerService/README.md
T
thischwa 51dd44aaf8
Build and Push Docker Image / build-and-push (push) Successful in 15s
Update README.md to include link to report issues on Gitea
2026-07-10 15:52:44 +02:00

2.6 KiB

JavadocViewerService

Preface

This project Spring Boot web service that automatically fetches, manages, and serves Javadoc documentation for Maven artifacts.

If you encounter any bugs or find missing features, feel free to report them on the Gitea Issues page.

Features

  • Fetches Javadoc JARs from Maven Central or custom Maven repositories
  • Tracks multiple Maven artifacts with version detection
  • Serves generated Javadoc via a simple Bootstrap web UI
  • Scheduled updates via configurable cron expression
  • Persists metadata in an embedded H2 database (Liquibase-managed)

Requirements

JRE-21 or docker

Start

... with Java

java -jar jdvc-<version>.jar --spring.config.import=file:./jdvs.yml

.. with Docker

services:
  jvs-dockerized:
    image: git.mein-gateway.de/thischwa/javadocviewerservice:develop
    volumes:
      - /opt/javadocviewerservice-dockerized/jdvs.yml:/app/jdvs.yml:ro
      - /opt/javadocviewerservice-dockerized/database:/app/database
      - /opt/javadocviewerservice-dockerized/javadoc-storage:/app/javadoc-storage
    restart: unless-stopped
    ports:
      - "127.0.0.1:8086:8080"

Volume mapping:

Mount Purpose
jdvs.yml:/app/jdvs.yml:ro Injects the repository configuration (which artifacts to track) as read-only — the only file you need to edit
database:/app/database Persists the H2 database so tracked version metadata survives restarts and image updates
javadoc-storage:/app/javadoc-storage Persists generated Javadoc HTML so it is not lost on container recreation

Configuration

application.yml

Key defaults:

Property Default Description
jdvs.base-dir ./javadoc-storage Storage root for generated Javadoc
jdvs.cron 0 0/30 * * * ? Update schedule (every 30 min)
jdvs.clean-on-start false Wipe storage and DB on startup
jdvs.run-on-start false Run update immediately on startup
jdvs.maven-central-url https://repo1.maven.org/maven2 Default Maven repository

jdvs.yml

Defines the repositories to track and individual settings (all key defaults can be overridden):

jdvs:
  repositories:
    - name: my-lib
      group-id: com.example
      artifact-id: my-lib
      # maven-repo-url: https://custom.repo/maven  # optional, defaults to Maven Central