This page is generated from the following source files:
Nbcio-Boot is an enterprise management platform built on Spring Boot, designed to provide comprehensive business process management, ERP functionality, and real-time communication capabilities. This guide covers the essential steps to set up, configure, and run the system efficiently.
The platform requires a specific set of technologies and versions to function correctly. The backend architecture is built upon Spring Boot 2.3.5.RELEASE, utilizing Mybatis-plus 3.4.3.1 for persistence and Apache Shiro 1.7.0 with JWT 3.11.0 for security. The system also relies on Alibaba Druid 1.1.22 for database connection pooling and Redis for caching (README.md:24-33).
Developers must ensure the following environment setup before proceeding:
Critical Pre-startup Check: If MySQL and Redis services are installed locally on the host machine, they must be stopped before starting the Docker containers to avoid port conflicts. On Windows systems, execute:
bash1net stop redis 2net stop mysql
Proper hostname resolution is required for the services to communicate within the Docker network. Add the following entries to the system's hosts file:
bash1# nbcioboot 2127.0.0.1 nbcio-boot-redis 3127.0.0.1 nbcio-boot-mysql 4127.0.0.1 nbcio-boot-system
Next, configure the active Spring profile. In application.yml, ensure the development profile is active:
yaml1spring: 2 profiles: 3 active: ${env:dev}
(README.md:77-78), (nbcio-boot-module-system/src/main/resources/application.yml:1-6)
The database and Redis connection settings must be modified in application-dev.yml to use the hostname method defined in the hosts file. The default configuration points to a specific IP address (192.168.199.151), which should be changed to the Docker service names (e.g., nbcio-boot-mysql, nbcio-boot-redis) for containerized deployments (README.md:80-81).
The project provides a docker-compose.yml file for containerized deployment. This configuration defines three services:
| Service | Image/Build | Ports | Dependencies |
|---|---|---|---|
| nbcio-boot-mysql | Built from ./db | 3306:3306 | None |
| nbcio-boot-redis | redis:5.0 | 6379:6379 | None |
| nbcio-boot-system | Built from ./nbcio-boot-module-system | 8080:8080 | mysql, redis |
The MySQL container is configured with UTF-8 support and specific authentication plugins:
yaml1command: 2 --character-set-server=utf8mb4 3 --collation-server=utf8mb4_general_ci 4 --default-authentication-plugin=caching_sha2_password
Navigate to the project root directory and execute the Maven build command. This will compile the source code and package the application into a JAR file.
bash1mvn clean package
Recommended Path: Docker Compose
The fastest way to start the entire stack is using Docker Compose:
bash1docker-compose up -d
This command starts the MySQL, Redis, and application containers in detached mode. The nbcio-boot-system service depends on the database and cache services, ensuring they start first (docker-compose.yml:35-37).
Alternative Path: Local Development
For local development without Docker, ensure local MySQL and Redis services are running (or use the Docker containers for infrastructure only). The application runs on port 8080 with the context path /nbcio-boot (nbcio-boot-module-system/src/main/resources/application-dev.yml:1-10).
Once the services are running, the backend API documentation (Swagger UI) can be accessed at:
http://localhost:8080/nbcio-boot/doc.html
Note: Swagger must be enabled in the configuration to access the documentation.
| Service | Verification Method | Expected Result |
|---|---|---|
| MySQL | docker ps or connect via client | Container running on port 3306 |
| Redis | docker ps or redis-cli ping | Container running on port 6379, returns PONG |
| Application | Access Swagger URL | API documentation page loads successfully |
The application server configuration includes compression enabled for responses exceeding 1024 bytes, optimizing performance for API calls (nbcio-boot-module-system/src/main/resources/application-dev.yml:11-14).
Symptom: Containers fail to start with "port is already allocated" errors.
Cause: Local MySQL or Redis services are running on the same ports (3306, 6379).
Solution: Stop local services before starting Docker containers:
bash1# Windows 2net stop mysql 3net stop redis 4 5# Linux/Mac 6sudo systemctl stop mysql 7sudo systemctl stop redis
Symptom: Application fails to start with "Unable to acquire JDBC Connection" errors.
Cause: Incorrect database host configuration in application-dev.yml.
Solution: Verify the database URL uses the correct hostname. For Docker deployments, use the service name:
yaml1url: jdbc:mysql://nbcio-boot-mysql:3306/nbcio-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
(nbcio-boot-module-system/src/main/resources/application-dev.yml:139-142)
Symptom: Application logs show Redis connection timeout or refused errors.
Cause: Redis hostname not resolved or service not ready.
Solution:
127.0.0.1 nbcio-boot-redisapplication-dev.yml:yaml1redis: 2 host: nbcio-boot-redis 3 port: 6379 4 password: 'masterredis'
(nbcio-boot-module-system/src/main/resources/application-dev.yml:150-161)
Symptom: mvn clean package fails with dependency resolution errors.
Cause: Missing dependencies or incorrect Maven configuration.
Solution:
JAVA_HOME is set correctlyrm -rf ~/.m2/repository (Linux/Mac) or delete %USERPROFILE%\.m2\repository (Windows)A live demo of the Nbcio-Boot platform is available for testing:
| Resource | URL | Description |
|---|---|---|
| Online Documentation | http://doc.jeecg.com | Official technical documentation |
| FAQ | http://jeecg.com/doc/qa | Common questions and answers |
| QQ Group | 655054809 | Community support group |
| Author Blog | https://blog.csdn.net/qq_40032778 | Technical articles and updates |
| (README.md:58-64) |
After successfully starting the application, explore the following features and modules:
Workflow Management: The platform includes Flowable 6.7.2 integration for process design, form definition, and workflow execution. Refer to the Flowable module documentation for details on creating custom business workflows.
API Integration: Use the Swagger UI at /nbcio-boot/doc.html to explore available endpoints and test API calls.
IM Module: The system includes a real-time chat module based on t-io WebSocket. Configuration details can be found in the IM module source code.
Advanced Configuration: Review application-dev.yml for settings related to file upload, email configuration, Quartz scheduling, and Druid monitoring.
For production deployments, refer to the docker-compose-server.yml configuration, which uses pre-built images and includes volume mounts for configuration management (docker-compose-server.yml:1-51).