Nesta página

Java

A Guara Cloud suporta totalmente aplicacoes Java, incluindo frameworks como Spring Boot, Quarkus, Micronaut e qualquer projeto baseado em Maven ou Gradle.

Versoes suportadas

As seguintes versoes do Java sao detectadas automaticamente:

  • Java 17 (LTS)
  • Java 21 (LTS)

A versao e detectada automaticamente a partir do seu pom.xml (Maven) ou build.gradle (Gradle).

<!-- pom.xml -->
<properties>
    <java.version>21</java.version>
</properties>

Deploy com Dockerfile

Um build multi-stage e a abordagem recomendada para aplicacoes Java. Ele compila sua aplicacao com o JDK completo e depois a executa usando apenas o JRE.

FROM maven:3.9-eclipse-temurin-21 AS build

WORKDIR /app

COPY pom.xml .
RUN mvn dependency:go-offline

COPY src ./src
RUN mvn package -DskipTests

FROM eclipse-temurin:21-jre-alpine

WORKDIR /app
COPY --from=build /app/target/*.jar app.jar

EXPOSE 3000

CMD ["java", "-jar", "app.jar"]

Deploy com Buildpack

Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto Java pela presenca de um pom.xml ou gradlew.

A deteccao automatica vai:

  1. Detectar a versao do JDK pela configuracao do projeto (pom.xml ou build.gradle)
  2. Compilar seu projeto com Maven ou Gradle
  3. Detectar e executar automaticamente o JAR do Spring Boot se presente
  4. Iniciar a aplicacao

Configuracao de porta

Sua aplicacao deve escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento para corresponder a sua aplicacao.

Para Spring Boot, configure em application.properties:

server.port=${PORT:3000}

Para Quarkus, use application.properties:

quarkus.http.port=${PORT:3000}

Estrutura de projeto exemplo

my-java-app/
  pom.xml
  Procfile
  src/
    main/
      java/
        com/example/
          Application.java
      resources/
        application.properties
  Dockerfile          # opcional — omita para usar Buildpack

Variaveis de ambiente

Estas variaveis de ambiente sao comumente usadas em deploys Java:

VariavelValor recomendadoDescricao
PORTDefinido pela plataformaA porta na qual sua aplicacao deve escutar
JAVA_OPTS-Xmx512mFlags de memoria e performance da JVM
SPRING_PROFILES_ACTIVEproductionAtiva o perfil de producao do Spring

Erros comuns