> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como hospedar uma aplicação Spring Boot (Java)

# Como hospedar aplicações Spring na Square Cloud

O Spring Boot facilitou a vida dos desenvolvedores Java ao embutir o servidor (como o Tomcat) diretamente no arquivo de execução. Para rodar sua aplicação na Square Cloud, o foco deve estar na configuração de rede e na geração do artefato correto.

---

## 1. Configurando a Porta (Porta 80)

Diferente do ambiente local onde geralmente usamos a porta 8080, a Square Cloud exige que sua aplicação escute na **porta 80**. 



Você pode configurar isso de duas formas:

### Via arquivo de propriedades:
No seu arquivo `src/main/resources/application.properties`:
```properties
server.port=80
```

Ou, se preferir YAML (`application.yml`):
```yaml
server:
  port: 80
```

### Via Variáveis de Ambiente (Recomendado):
Você também pode deixar a porta padrão no código e definir uma **ENV** no dashboard da Square Cloud:
*   **Nome:** `SERVER_PORT`
*   **Valor:** `80`

---

## 2. Empacotando a Aplicação (JAR)

A Square Cloud executa aplicações Java através de arquivos **JAR (Java Archive)**. Você deve gerar um "Uber JAR" (ou Fat JAR), que contém todas as dependências necessárias dentro de um único arquivo.

### Usando Maven:
Execute o comando na raiz do projeto:
```bash
./mvnw clean package
```

### Usando Gradle:
Execute o comando na raiz do projeto:
```bash
./gradlew build
```

O arquivo gerado estará na pasta `target/` (Maven) ou `build/libs/` (Gradle).

---

## 3. Preparando o Deploy

Para o envio, recomendamos criar um arquivo `.zip` contendo:
1.  O seu arquivo `.jar` (ex: `minha-api-1.0.0.jar`).
2.  Arquivos de configuração externos (se houver).

**Nota:** Não é necessário enviar o código fonte (`src/`), apenas o artefato compilado.

---

## 4. Dicas de Monitoramento

*   **Logs:** O Spring Boot gera logs detalhados. Acompanhe-os no terminal da Square para identificar erros de injeção de dependência ou falhas na conexão com o banco de dados.
*   **Health Checks:** Se estiver usando o **Spring Boot Actuator**, você pode monitorar a saúde da sua aplicação em tempo real.
