Pular para o conteúdo principal

Instalação

Este guia mostra como instalar e configurar o Archbase Framework em seu projeto Java.

Requisitos

  • Java 17 ou superior
  • Spring Boot 3.2+ ou 3.5+
  • Maven 3.8+ ou Gradle 8.x

Escolha o Starter Certo

O Archbase oferece três opções de starter, dependendo das suas necessidades:

StarterDescriçãoQuando Usar
archbase-starter-coreApenas core DDD básicoProjetos simples sem segurança/multi-tenancy
archbase-starter-securityCore + segurança JWTProjetos com autenticação mas sem multi-tenancy
archbase-starterTodos os módulosAplicações corporativas completas

Instalação com Maven

Starter Completo (Recomendado para aplicações corporativas)

pom.xml
<dependencies>
<!-- Archbase Starter com todos os módulos -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-starter</artifactId>
<version>${archbase.version}</version>
</dependency>
</dependencies>

<properties>
<archbase.version>1.0.0</archbase.version>
<java.version>17</java.version>
</properties>

Starter com Segurança (sem multi-tenancy)

pom.xml
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-starter-security</artifactId>
<version>${archbase.version}</version>
</dependency>

Starter Core (básico)

pom.xml
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-starter-core</artifactId>
<version>${archbase.version}</version>
</dependency>

Instalação com Gradle

Starter Completo

build.gradle
dependencies {
implementation 'br.com.archbase:archbase-starter:1.0.0'
}

java {
sourceCompatibility = '17'
}

Starter com Segurança

build.gradle
dependencies {
implementation 'br.com.archbase:archbase-starter-security:1.0.0'
}

Starter Core

build.gradle
dependencies {
implementation 'br.com.archbase:archbase-starter-core:1.0.0'
}

Configuração Básica

application.yml

src/main/resources/application.yml
spring:
application:
name: minha-aplicacao
datasource:
url: jdbc:postgresql://localhost:5432/meudb
username: usuario
password: senha
jpa:
hibernate:
ddl-auto: update

archbase:
# Multi-tenancy (opcional, requer archbase-starter)
multitenancy:
enabled: true
scan-packages: com.minhaempresa.minhaapp

# Segurança (opcional, requer archbase-starter-security)
security:
enabled: true
jwt:
secret: ${JWT_SECRET:chave-secreta-minima-32-caracteres}
expiration: ${JWT_EXPIRATION:86400000}

application.properties

src/main/resources/application.properties
spring.application.name=minha-aplicacao

# Database
spring.datasource.url=jdbc:postgresql://localhost:5432/meudb
spring.datasource.username=usuario
spring.datasource.password=senha
spring.jpa.hibernate.ddl-auto=update

# Archbase Multi-tenancy
archbase.multitenancy.enabled=true
archbase.multitenancy.scan-packages=com.minhaempresa.minhaapp

# Archbase Security
archbase.security.enabled=true
archbase.security.jwt.secret=chave-secreta-minima-32-caracteres
archbase.security.jwt.expiration=86400000

Módulos Individuais

Você também pode adicionar módulos individualmente para ter controle granular:

<!-- Core DDD -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-domain-driven-design</artifactId>
</dependency>

<!-- Event-Driven / CQRS -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-event-driven</artifactId>
</dependency>

<!-- Multi-tenancy -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-multitenancy</artifactId>
</dependency>

<!-- Security -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-security</artifactId>
</dependency>

<!-- Query com RSQL -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-query</artifactId>
</dependency>

<!-- Validation -->
<dependency>
<groupId>br.com.archbase</groupId>
<artifactId>archbase-validation</artifactId>
</dependency>

Verificando a Instalação

Crie uma classe de teste para verificar se tudo está funcionando:

src/test/java/com/minhaempresa/ArchbaseTest.java
@SpringBootTest
class ArchbaseInstallationTest {

@Autowired(required = false)
private ApplicationContext context;

@Test
void contextLoads() {
assertNotNull(context);
System.out.println("Archbase instalado com sucesso!");
System.out.println("Beans disponíveis: " + context.getBeanDefinitionCount());
}
}

Suporte a Spring Boot

Versão ArchbaseSpring BootJava
1.x3.2.x - 3.5.x17+

Próximos Passos

Solução de Problemas

Erro: NoSuchBeanDefinitionException

Certifique-se de que adicionou @EnableArchbase ou está usando o starter correto.

Erro: Falha na auto-configuração

Verifique se as dependências do Spring Boot estão compatíveis com a versão do Archbase.