Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
2020 Week 25-27 (from Jun 15)
-
NEW
-
NEW
Description
I am running Drools in a Spring-Boot jar and get the following warning statement File 'BOOT-INF/classes/com/example/test/TEST.drl' is in folder 'BOOT-INF/classes/com/example/test' but declares package 'com.example.test'. It is advised to have a correspondance between package and folder names. The package name in the drl file is correct, the problem is just that BOOT-INF.classes. isn't considered when evaluating if printing the warning or not.
I have tracked it down to KieBuilderImpl.java, method isFileInKieBase. The last 2 lines in that method calls:
// packageNameForFile prints warning if package in .drl file is not same as flatted directory structure // Does not care about SUPPORTED_RESOURCES_ROOTS, thus prints the warning String pkgNameForFile = packageNameForFile( fileName, folderNameForFile, !useFolders, file ); // Does care about SUPPORTED_RESOURCES_ROOTS, so the drl file is loaded return isPackageInKieBase( kieBase, pkgNameForFile );
As it is implemented right now, the warning might either be a false-positive (and still get loaded), or the package is wrong (and the file is not loaded).
Voting to include the SUPPORTED_RESOURCES_ROOTS as valid prefixes when checking if the warning should be printed.
Attachments
Issue Links
- is related to
-
DROOLS-1645 Wildcard in packages does not work in Spring Boot jar
- Closed