JimuReport Spring Boot Starter: Java reports, dashboards and ChatBI
一款真正的 AI 报表诞生了!JimuChatBI —— 首款免费开源对话式智能数据分析产品(Chat2BI)。 一句话生成报表和数据大屏,支持对话式 AI 修改优化;类 Excel 在线报表设计,兼容国产信创数据源。 对着 AI 说句话,报表就出来了——表格、图表、分组汇总自动生成,复杂报表场景轻松应对。想做数据大屏?同样一句话搞定,让数据分析进入 AI 时代。
At a glance
- What is it?
- JimuReport bundles an Excel-like web report designer, a dashboard builder and a chat-driven BI module into Spring Boot starters. It is aimed at Java teams that want reporting embedded in an existing application rather than a separate BI server.
- Who is it for?
- Adopt JimuReport if you run a Spring Boot application and want report design, printing and dashboards inside it, and if you accept a starter that pulls in a large dependency tree plus a manual SQL initialisation step. Do not adopt it if you need a standalone BI server under a permissive licence, or if the AI assistant is the deciding factor, because the Spring Boot 2 starter does not support it.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What JimuReport covers that a plain reporting library does not
Most Java reporting libraries give you an API and a template format. JimuReport gives you a web application: a browser designer, a runtime that renders saved templates, an export path to Excel, PDF, Word and images, and a print path that the README describes as covering invoices and certificates. The repository splits the product into three modules. JimuReport handles traditional reports and printing. JimuBI handles dashboards and large-screen displays, with ECharts charts and a grid layout. JimuChatBI handles conversational analysis, where a user describes what they want and the system produces tables, charts and grouped summaries.
The intended audience is a Java team that already has a Spring Boot application and wants reporting inside it, rather than a separate server that analysts log into. The README states that any project using a Spring Boot scaffold can integrate it quickly, and the packaging supports that claim: each module ships as a Maven starter. A second audience is teams working under Chinese domestic hardware and database requirements. The README lists support for Dameng, Kingbase, ShenTong and Huawei Gauss databases, and for Kylin and UOS operating systems. If that list matches your procurement constraints, the field of comparable open source options narrows sharply.
How the starters, the designer and the AI assistant fit together
Integration is dependency-based. You add a starter to your Maven build, the starter registers its controllers and services in your Spring context, and the designer becomes reachable from your own application. There is no separate process to deploy for the report engine itself. The README notes that once the AI configuration is complete, an AI entry point appears inside the report designer with no extra deployment.
The version matrix is the part that needs attention. Separate starters exist for Spring Boot 2, Spring Boot 3 and Spring Boot 4, and they do not carry the same feature set. The README states that the Spring Boot 4 starter requires JDK 17 or above, the Spring Boot 2 starter requires JDK 8 or above, and the Spring Boot 2 starter does not support the AI assistant. The ChatBI dependency is a single artifact, jimuchatbi-spring-boot4-starter, which the README says works with both Spring Boot 3 and Spring Boot 4 projects. Optional capabilities are separate artifacts too: jimureport-nosql-starter for MongoDB, Redis and file datasets, and jimureport-echarts-starter for server-side ECharts rendering during export. Pulling those in only when needed keeps the base install smaller.
The AI assistant talks to an OpenAI-compatible endpoint. The configuration block names base-url, api-key, model, max-tokens, temperature and completions-path, with DeepSeek given as the example provider. That is a plain HTTP integration, so any service exposing the same chat-completions shape should work, although the README documents only the DeepSeek example and the default path /v1/chat/completions. The README also mentions Claude Code skills for generating reports, dashboards and ChatBI pages from a sentence or a screenshot, kept in a separate repository at jeecgboot/skills.
Installing the Spring Boot 3 starter and running a first report
Start with the report dependency. The README gives the artifact coordinates for the Spring Boot 3 line as jimureport-spring-boot3-starter at version 2.5.2. Add the NoSQL and ECharts starters only if you need MongoDB, Redis or file datasets, or server-side chart rendering during export.
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter</artifactId>
<version>2.5.2</version>
</dependency>If you also want dashboards and large screens, add the JimuBI starter for the same Spring Boot line. The README lists it at the same version, 2.5.2.
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimubi-spring-boot3-starter</artifactId>
<version>2.5.2</version>
</dependency>For conversational analysis, add the ChatBI artifact. The README states that this single dependency covers both Spring Boot 3 and Spring Boot 4 projects, at version 1.0.0.
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimuchatbi-spring-boot4-starter</artifactId>
<version>1.0.0</version>
</dependency>After the dependencies, the README's fourth step is to initialise SQL and apply the necessary configuration, pointing at https://help.jimureport.com/quick.html. That page is where the schema script and the remaining settings live; the README itself does not reproduce them. To turn on the AI assistant, add the following block to application.yml. The README marks base-url, api-key and model as required, and states that leaving the key empty makes the AI feature unavailable.
jeecg:
jmreport:
ai:
base-url: https://api.deepseek.com
api-key: sk-xxxxxxxxxxxxxxxxxxxx
model: deepseek-v4-pro
max-tokens:
temperature: 0
completions-path: /v1/chat/completionsOnce the application starts with these settings, the README says the AI entry appears inside the report designer without any additional deployment. The same block documents an AI automatic table creation switch that lets the assistant run DDL and DML against a chosen data source, and the README carries an explicit security warning that this operates directly on the database and should not be left on in production.
Where JimuReport is the wrong tool
The licence is the first constraint. The repository is GPL-3.0. The README describes the model as free to use and commercially usable with the source code not open, which is not the same statement as the licence file, and the two should be reconciled with the vendor before you ship anything. If your product cannot carry copyleft obligations, this is a stopping point, not a detail to settle later.
The second constraint is the Spring Boot 2 line. Teams still on Spring Boot 2 lose the AI assistant entirely, and the README caps that branch at jimureport-spring-boot-starter 2.3.4 while the Spring Boot 3 and 4 lines sit at 2.5.2. Upgrading Spring Boot to reach the newer features is a real project, not a version bump.
The third constraint is operational. Integration requires an SQL initialisation step that the README defers to an external page, so provisioning is not a single dependency addition. The AI assistant adds an outbound dependency on a third-party model endpoint plus a key to manage, and the automatic table creation switch is a write path into your database. A team that wants a read-only reporting layer will find that switch is something to leave off and defend in configuration review.
Finally, this is not a standalone analytics platform. There is no separate server binary described in the README, and no warehouse, scheduler or semantic model layer. If your analysts need to log into their own tool and explore data independently of your application, JimuReport is the wrong shape.
JimuReport against DataEase and FineReport
The README positions JimuReport against FineReport and Tableau, and the repository topics list DataEase, Metabase, Redash and Superset alongside it. The difference in approach is where the product lives. JimuReport is a library you embed: it ships as Spring Boot starters, it runs inside your application's JVM, and its designer is served from your own deployment. DataEase and Metabase are standalone servers that you deploy next to your data and that analysts use as a separate destination, with their own user model and their own upgrade cycle.
That choice drives most of the rest. Embedding means report access inherits your application's authentication and permissions, and there is no second system to keep patched. It also means the report engine shares a process and a connection pool with your business code, and that your upgrade path is tied to Spring Boot and JDK versions rather than the reporting tool alone. FineReport is the commercial comparison the README names: it is a licensed product, while JimuReport is GPL-3.0 with a free tier described in the README. The trade is licence terms and vendor support against the copyleft obligation and the self-hosted operational work.
Maintenance, licensing and what an upgrade actually costs
The repository is not archived, and the last push was on 2026-09-15, so the project is being worked on. Release cadence is visible in the tags: v2.5.0_springbooot3 on 2026-08-09, v2.5.0 on 2026-06-26 and v2.3.4 on 2026-05-22. Note that the README header advertises v2.5.2 and 2026-09-09 while the most recent listed release tag is v2.5.0, so the version you actually resolve should be checked against the tags rather than the README banner.
The upgrade cost is not uniform. Because the starters are split by Spring Boot generation and the feature sets differ, an upgrade is a choice between staying on an older line and moving your application's Spring Boot version. The Spring Boot 2 line is already behind on features. Dependency versions of the optional starters move independently as well: in the Spring Boot 2 example the README pairs jimureport-spring-boot-starter 2.3.4 with jimureport-nosql-starter 2.1.0 and jimureport-echarts-starter 2.3.0. Expect to track several version numbers, not one.
On licensing, GPL-3.0 is a copyleft licence, and the README's description of the commercial model does not replace the licence text. Whether your distribution triggers obligations depends on how you ship the software, which is a question for your own legal review rather than something the README settles.
Editorial conclusion
Adopt JimuReport if you run a Spring Boot application and want report design, printing and dashboards inside it, and if you accept a starter that pulls in a large dependency tree plus a manual SQL initialisation step. Do not adopt it if you need a standalone BI server under a permissive licence, or if the AI assistant is the deciding factor, because the Spring Boot 2 starter does not support it. Before committing, verify which starter matches your Spring Boot and JDK version, read the full AI configuration block including the automatic table creation switch, and confirm with the vendor what GPL-3.0 means for your distribution model.
Frequently asked questions
Which JimuReport starter should I use for Spring Boot 3?
Use jimureport-spring-boot3-starter for reports and jimubi-spring-boot3-starter for dashboards. The README lists version 2.5.2 for both, and states that the Spring Boot 3 starters support the AI assistant.
Does JimuReport support the AI assistant on Spring Boot 2?
No. The README states that the Spring Boot 2 starter does not support the AI assistant, and lists jimureport-spring-boot-starter at version 2.3.4 for that line.
What licence does JimuReport use, and can it be used commercially?
The repository carries GPL-3.0. The README describes the model as free to use and commercially usable with the source code not open, so the licence file and that description should be reconciled with the vendor rather than taken as equivalent.
How do I configure the JimuReport AI assistant?
Add a jeecg.jmreport.ai block to application.yml with base-url, api-key and model, which the README marks as required, plus optional max-tokens, temperature and completions-path. The README states that if the API key is left empty the AI feature is unavailable.
Community notes