Este exercício usa o framework Java Quarkus: https://quarkus.io/
- JDK 11+ instalado com JAVA_HOME configurado
- Apache Maven 3.8.1+
- Docker (opcional)
-
Clonar o repositório em sua máquina local.
-
Dentro do diretório raiz do repositório, executar o comando:
./mvnw compile quarkus:dev
Este comando executa a aplicação no modo desenvolvimento (dev mode).
Criei uma página simples usando uma versão antiga do AngularJS, apenas para fins de testes.
Alternativamente, para execução em contêiner docker, pode-se utilizar a implementação padrão fornecida pelo quarkus. As instruções para geração e execução da imagem encontram-se no arquivo src/main/docker/Dockerfile.jvm
.
TLDR: A princípio, basta executar a sequência de comandos abaixo:
./mvnw package
docker build -f src/main/docker/Dockerfile.jvm -t quarkus/alticci-jvm .
docker run -i --rm -p 8080:8080 quarkus/alticci-jvm
A aplicação pode ser empacotada usando:
./mvnw package
O comando produz o arquivo quarkus-run.jar
na pasta target/quarkus-app/
.
Este não é um jar gordo, pois as dependências estão target/quarkus-app/lib/
.
A aplicação agora pode ser executada usando java -jar target/quarkus-app/quarkus-run.jar
.
Para criar um jar gordo contendo as dependências, execute o comando abaixo:
./mvnw package -Dquarkus.package.type=uber-jar
A documentação no formato Open API e a ferramenta SwaggerUI podem ser acessadas através dos links abaixo, quando executando a aplicação em dev mode:
-
Escrevi alguns testes de integração que podem ser encontrados na pasta
/src/main/test
-
Quando executando a aplicação em dev mode, os testes podem ser executados ao pressionar a tecla
r
no console de execução