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.
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ão | vertracloud.config | Status |
|---|---|---|
| Temurin JRE 21 | VERSION=21 | RecomendadaMais recente |
| Temurin JRE 17 | VERSION=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.
NAME=meu-app
MAIN=app.jar
START=java -Xmx256m -jar app.jar
VERSION=21
MEMORY=512Um 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 planosTambé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