https://github.com/apache/incubator-kie-drools
Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.
https://github.com/apache/incubator-kie-drools
dmn hacktoberfest java rule-engine
Last synced: 2 months ago
JSON representation
Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.
- Host: GitHub
- URL: https://github.com/apache/incubator-kie-drools
- Owner: apache
- License: apache-2.0
- Created: 2011-02-18T08:37:05.000Z (over 14 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T09:31:14.000Z (7 months ago)
- Last Synced: 2025-04-28T10:13:24.585Z (7 months ago)
- Topics: dmn, hacktoberfest, java, rule-engine
- Language: Java
- Homepage: http://www.drools.org
- Size: 285 MB
- Stars: 6,006
- Watchers: 304
- Forks: 2,535
- Open Issues: 68
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-integration - Drools (⭐6.1k) - Open-source engine that supports advanced Decision Model and Notation (DMN) with Eclipse IDE integration for efficient rule development. (Projects / Business Rules Engine)
- trackawesomelist - Drools (⭐5.9k) (⭐5.9k) - Open-source tool that supports Decision Model and Notation (DMN) models at Conformance level 3 with an Eclipse IDE plugin for core development. (Recently Updated / [Dec 18, 2024](/content/2024/12/18/README.md))
README
An open source rule engine, [DMN engine](https://kie.apache.org/docs/components/drools/drools_dmn) and complex event processing (CEP) engine for Java™ and the JVM Platform.
Drools is a business rule management system with a forward-chaining and backward-chaining inference based rules engine, allowing fast and reliable evaluation of business rules and complex event processing. A rule engine is also a fundamental building block to create an expert system which, in artificial intelligence, is a computer system that emulates the decision-making ability of a human expert.
Be sure to check out the Apache KIE project [website](https://kie.apache.org/docs/components/drools/) and [documentation](https://kie.apache.org/docs/documentation/)!
Test execution tip
==================
Some test are meant to be executed on machine with _en_US_ locale.
A specific profile is provided to execute them on machines with different locale, namely `test-en`.
There are two ways to activate such profile during maven build:
1. `-Ptest-en` (profile-id based)
2. `-DTestEn` (property based)
The following two commands will execute tests on machine with locale different than _en_US_:
1. `make test -Ptest-en`
2. `make test -DTestEn`
Troubleshooting
================
If the build fails with `UnmappableCharacterException`, set `-Dfile.encoding=UTF-8` for `MAVEN_OPTS` (not as an argument of `mvn` command). Then run `mvn`.
example for Windows:
```shell
set MAVEN_OPTS=-Dfile.encoding=UTF-8
mvn clean install
```
Documenting tips
================
UML diagrams have been used for architectural and design documentation. Those diagrams are in ".puml" format and have been created using the [PlantUML](https://plantuml.com/https://plantuml.com/) tool.
Plugins exists to use it in different IDE:
* [IDEA](https://plugins.jetbrains.com/plugin/7017-plantuml-integration)
* [Eclipse](https://marketplace.eclipse.org/content/plantuml-plugin)
* [VisualStudio](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml)