https://github.com/zevolution/microservice-chassis-spring-boot
https://github.com/zevolution/microservice-chassis-spring-boot
archetype archetype-java chassis java java-chassis maven-archetype microservice-chassis microservices-chassis
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/zevolution/microservice-chassis-spring-boot
- Owner: zevolution
- Created: 2022-01-06T22:48:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-12T00:49:20.000Z (over 3 years ago)
- Last Synced: 2025-01-25T17:33:20.205Z (3 months ago)
- Topics: archetype, archetype-java, chassis, java, java-chassis, maven-archetype, microservice-chassis, microservices-chassis
- Language: Java
- Homepage:
- Size: 17.6 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microservice Chassis Spring Boot Archetype
Primeiramente baixe o projeto. Logo após baixa-lo, no diretório raiz do projeto, execute o comando a seguir para que o projeto seja compilado e adicionado no seu repositorio local.
```shell
mvn clean install
```Agora fora do diretório do projeto(em qualquer outro), com o comando a seguir podemos gerar um novo projeto no modo interativo com base no archetype construido acima.
```shell
mvn -B archetype:generate \
-DarchetypeGroupId=dev.zevolution \
-DarchetypeArtifactId=archetype--spring-boot \
-DarchetypeVersion=0.0.1-SNAPSHOT \
-DgroupId=dev.zevolution \
-DartifactId=api--teste \
-Dversion=0.0.1-SNAPSHOT \
-DartifactIdToPackage=netflixhexagonalarchitecture
```Descritivo de cada propriedade:
* **archetypeGroupId**: groupId do arquétipo maven a ser utilizado como base
* **archetypeArtifactId**: artifactId do arquétipo maven a ser utilizado como base
* **archetypeVersion**: versão do arquétipo maven a ser utilizado
* **groupId**: groupId que será utilizado no projeto criado a partir do arquétipo
* **artifactId**: artifactId que será utilizado no projeto criado a partir do arquétipo
* **version**: versão inicial a ser utilizado no projeto cirado a partir do arquétipo
* **artifactIdToPackage**: nome do pacote raiz a ser utilizado(veja abaixo os exemplos 1, 2 e 3).
* Por padrão este é um parâmetro obrigatório, caso nenhum valor for inserido, o nome do pacote raiz será o artifactId(formatado contendo somente letras)
* Caso deseje criar subpackage para categorizar, utilize "/", ex: architecture/netflixhexagonal# Exemplos
**Exemplo 1**: Utilizando `-DartifactIdToPackage=netflixhexagonalarchitecture`
```markdown
📦 src
┣ 📦 main
┃ ┣ 📦 java
┃ ┃ ┣ 📦 dev
┃ ┃ ┃ ┣ 📦 zevolution
┃ ┃ ┃ ┃ ┣ 📦 netflixhexagonalarchitecture
┃ ┃ ┃ ┃ ┃ ┣ 📂 adapter
┃ ┃ ┃ ┃ ┃ ┣ 📂 bootstrap
┃ ┃ ┃ ┃ ┃ ┣ 📂 internal
┃ ┃ ┃ ┃ ┃ ┗ 📜 Application.java
┣ 📦 main/resources
┣ 📜 .gitignore
┣ 📜 Dockerfile
┣ 📜 pom.xml
┗ 📜 README.MD
```**Exemplo 2**: Utilizando `-DartifactIdToPackage=architecture/netflixhexagonal`
```markdown
📦 src
┣ 📦 main
┃ ┣ 📦 java
┃ ┃ ┣ 📦 dev
┃ ┃ ┃ ┣ 📦 zevolution
┃ ┃ ┃ ┃ ┣ 📦 architecture
┃ ┃ ┃ ┃ ┃ ┣ 📦 netflixhexagonal
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂 adapter
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂 bootstrap
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂 internal
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜 Application.java
┣ 📦 main/resources
┣ 📜 .gitignore
┣ 📜 Dockerfile
┣ 📜 pom.xml
┗ 📜 README.MD
```**Exemplo 3** : NÃO utlizando a propriedade `-DartifactIdToPackage` e passando `artifactId` como `-DartifactId=api--teste`. Veja que qualquer caracter diferente de a-z, será removido
```markdown
📦 src
┣ 📦 main
┃ ┣ 📦 java
┃ ┃ ┣ 📦 dev
┃ ┃ ┃ ┣ 📦 zevolution
┃ ┃ ┃ ┃ ┣ 📦 apiteste
┃ ┃ ┃ ┃ ┃ ┣ 📂 adapter
┃ ┃ ┃ ┃ ┃ ┣ 📂 bootstrap
┃ ┃ ┃ ┃ ┃ ┣ 📂 internal
┃ ┃ ┃ ┃ ┃ ┗ 📜 Application.java
┣ 📦 main/resources
┣ 📜 .gitignore
┣ 📜 Dockerfile
┣ 📜 pom.xml
┗ 📜 README.MD
```