Skip to content

Java Project

Java projects are used to deploy Spring Boot, Tomcat, and other Java applications.

Prerequisites

  1. Install Java runtime environment: Applications > Runtime Environment > Java (Corretto JDK)
  2. Packaged JAR file or WAR file

Deploy Spring Boot Application

Package Project

bash
# Maven
mvn clean package -DskipTests

# Gradle
./gradlew build -x test

Upload and Deploy

  1. Upload JAR file to server (e.g., /opt/ace/project/myapp/app.jar)
  2. Create project:
    • Project Name: myapp
    • Project Directory: /opt/ace/project/myapp
    • Start Command: java21 -jar app.jar
  3. Enable Reverse Proxy

Start Command Examples

bash
# Basic startup
java21 -jar app.jar

# Specify configuration file
java21 -jar app.jar --spring.profiles.active=prod

# Set JVM parameters
java21 -Xms512m -Xmx1024m -jar app.jar

# Specify port
java21 -jar app.jar --server.port=8080

JVM Parameter Recommendations

bash
# Recommended production environment configuration
java21 \
  -Xms512m \
  -Xmx1024m \
  -XX:+UseG1GC \
  -XX:MaxGCPauseMillis=200 \
  -jar app.jar

Common parameter descriptions:

ParameterDescription
-XmsInitial heap memory size
-XmxMaximum heap memory size
-XX:+UseG1GCUse G1 garbage collector
-XX:MaxGCPauseMillisMaximum GC pause time

Multiple JDK Versions

AcePanel supports installing multiple JDK versions, paths like /opt/ace/server/java/{version}/bin/java, with java{version} commands linked by default for convenience.

Configuration File

Spring Boot configuration file application.yml example:

yaml
server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: your_password

FAQ

Out of Memory

Increase JVM heap memory:

bash
java21 -Xms1g -Xmx2g -jar app.jar

Port Conflict

Modify startup port:

bash
java21 -jar app.jar --server.port=8081

Slow Startup

Check if there are external dependency connection timeouts, or add the following parameters to speed up startup:

bash
-XX:TieredStopAtLevel=1 -noverify