NextDigital Docs
Guides 2 min read

Java IDE Environment

Enterprise Java development with OpenJDK 17, Spring Boot, Maven, and Gradle.

What's Inside

Tool Version Purpose
Java OpenJDK 17 Runtime and compiler
Maven Latest Build and dependency management
Gradle Latest Alternative build tool
Spring Boot Ready Web framework (via scaffolding)

Quick Start

# Compile and run a single file
java-run Main.java

# Build and run a Maven project
java-run

# Run tests
java-test

# Scaffold a Spring Boot project
java-spring my-app

# Scaffold a plain Maven project
java-init my-app

Helper Commands

Command What it does
java-run Build + run (auto-detects Maven or Gradle)
java-run Main.java Compile + run a single Java file
java-test Run tests (auto-detects Maven or Gradle)
java-spring <name> Scaffold a Spring Boot project with REST API
java-init <name> Scaffold a plain Maven project
java-help Show all available commands

Spring Boot Scaffolding

Running java-spring my-app creates:

my-app/
├── pom.xml                          # Spring Boot, JPA, Validation, H2
├── src/main/java/com/learncen/
│   ├── Application.java             # Spring Boot entry point
│   ├── model/Product.java           # JPA entity
│   ├── repository/ProductRepository.java
│   ├── service/ProductService.java
│   └── controller/ProductController.java  # REST API
├── src/main/resources/
│   ├── application.properties       # H2 database config
│   └── data.sql                     # Seed data
└── src/test/java/
    └── ProductControllerTest.java   # MockMvc integration tests

Start it with:

cd my-app
java-run
# API available at http://localhost:8080/api/products

Tips

  • java-run auto-detects whether you're in a Maven or Gradle project
  • For single files, just java-run Main.java — no project setup needed
  • JVM memory is auto-tuned: 75% of pod limit (MaxRAMPercentage), 50% initial
  • Ctrl+Shift+B builds and runs the current project

Security

  • Root access is restricted. Use sudo apt install <package> for system packages.
  • Java, Maven, and Gradle are whitelisted for sudo access.
  • JVM respects Kubernetes pod CPU and memory limits automatically.