Java · Temurin JRE 21

Hospedagem Java 24/7

Suba um bot em JDA, uma API Spring Boot ou um worker de fila empacotado em JAR e deixe rodando. A imagem traz o Temurin JRE, o START define a linha do java -jar e a plataforma reinicia o processo sozinha, em qualquer plano, quando ele cai.

Origem

Quem desenhou o Java

James Gosling e o Green Team na Sun começaram em 1991 uma linguagem chamada Oak, pensada para set-top e dispositivos. Rebatizada Java, foi anunciada em 1995 com a tese write once, run anywhere: o compilador emite bytecode, a máquina virtual executa em qualquer sistema. A 1.0 saiu em 1996. Não era só uma gramática — era a VM, as bibliotecas e a promessa de portabilidade.

James Gosling

Peter Campbell · CC BY-SA 4.0

O mesmo programa em qualquer máquina

Write once, run anywhere não era slogan: era o motivo. O javac emite bytecode; a VM executa em qualquer sistema que a tivesse — um binário por sistema era o que a Sun queria evitar.

A máquina virtual no meio

Quem corre não é o processador nu. A diferença do C é essa camada: portabilidade, bibliotecas e um modelo de memória iguais em todo lugar.

Linguagem que veio com plataforma

Java não era só a gramática. Era a VM, as APIs e a promessa de que o mesmo código servia no set-top, no desktop e no servidor.

O que a plataforma faz por um projeto Java

O essencial já vem configurado em toda aplicação Java aqui; os recursos que dependem do plano estão indicados no card.

O JAR sobe pronto

A imagem já traz o Temurin JRE; você envia o artefato empacotado e o START diz como executá-lo. Não há JDK para instalar nem Dockerfile para manter no repositório.

Duas versões, uma linha de config

Temurin JRE 21 e 17 disponíveis. Trocar é mudar VERSION no vertracloud.config e subir de novo — o mesmo JAR roda nas duas, desde que tenha sido compilado para o alvo certo.

Heap dentro do teto do container

MEMORY define quanta RAM o container pode ocupar e -Xmx no START limita o heap da JVM abaixo disso. Sem essa folga, a JVM cresce até o limite do container e o processo é encerrado por OOM.

Auto-restart com freio

Uma exceção não tratada não derruba o serviço: o processo é reiniciado sozinho, em qualquer plano. Se ele quebrar 5 vezes em 10 minutos, a plataforma marca crash loop e desliga o auto-restart por 24 horas. Saída com exit code 0 não dispara reinício.

O que as pessoas rodam em Java aqui

O mesmo JAR serve para o bot que fica conectado e para a API que atende no subdomínio.

Bots de Discord em JDA e Discord4J

O bot roda como processo de background, sem porta HTTP. O token vai nas variáveis de ambiente do painel, nunca num .env dentro do zip — a plataforma não lê arquivo .env.

APIs Spring Boot e Javalin

Publique a aplicação para receber um subdomínio em vertraweb.app com TLS. O servidor embutido precisa escutar em 0.0.0.0 na porta 80 — em localhost, a requisição externa dá timeout.

Workers e serviços agendados

Consumidor de fila, rotina de integração, job agendado: processos longos que só precisam ficar de pé. O auto-restart cobre a queda ocasional de rede sem intervenção.

Aplicação com banco gerenciado

Um PostgreSQL 17 ou um MySQL 8.0 criado no painel vira a fonte de dados do Hibernate ou do Spring Data pela URL JDBC do host interno. TLS é obrigatório, e o MySQL exige X509: o certificado de cliente vai para a truststore da JVM.

Versões de Java disponíveis

Temurin JRE 21 é a recomendada e a mais recente; a 17 continua disponível para JAR compilado num alvo mais antigo. A escolha é a chave VERSION no vertracloud.config.

Versãovertracloud.configStatus
Temurin JRE 21VERSION=21RecomendadaMais recente
Temurin JRE 17VERSION=17

A configuração inteira

O vertracloud.config é um arquivo INI opcional na raiz do projeto. MAIN aponta o JAR; START traz a linha do java com as flags de heap; VERSION escolhe o JRE; MEMORY define o teto de RAM.

vertracloud.config
NAME=meu-app
MAIN=app.jar
START=java -Xmx256m -jar app.jar
VERSION=21
MEMORY=512

Um plano para cada fase do projeto

A memória e o armazenamento mudam por plano; a linguagem, não. Compare o que cada plano libera e escolha o que cabe no projeto agora.

Comparar planos

Também roda aqui

Mesma plataforma, mesmo deploy, outra stack.

Perguntas frequentes sobre hospedagem Java

JAR, heap e memória: o que mais chega ao suporte em projetos Java.

Quais versões de Java posso usar?

Temurin JRE 21 (recomendada e a mais recente) e Temurin JRE 17. A escolha é feita pela chave VERSION no vertracloud.config; sem ela, a aplicação sobe na recomendada.

Recebi no main manifest attribute ao iniciar. O que é?

O JAR foi empacotado sem apontar a classe de entrada. Configure o build tool para gerar um fat JAR com Main-Class no manifesto — com Maven Shade, Assembly ou o Shadow do Gradle — e envie esse artefato.

Minha aplicação morre com OutOfMemoryError. Como resolver?

Java precisa de 512 MB ou mais de RAM alocada. Suba o MEMORY e limite o heap abaixo do teto do container com flags no START, por exemplo java -Xmx256m -Xms128m -jar app.jar.

Dá para fazer deploy automático a cada push?

Sim, a partir do plano Intermediary: o webhook do GitHub dispara um novo deploy a cada push no repositório conectado. Nos planos abaixo, o deploy continua sendo o envio do zip ou o botão de deploy no painel.

O que devo deixar de fora do zip?

As pastas de build: target e .gradle. Envie o JAR empacotado e o vertracloud.config — o limite do zip é 100 MB, e classes soltas e caches de build só ocupam espaço.

Suba seu projeto Java hoje

Crie a conta, envie o JAR empacotado num zip ou conecte o repositório do GitHub, e ajuste as flags de heap no START antes do primeiro start.

Criar conta