Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Won't Do
-
blueprint-maven-plugin-1.9.0
-
None
-
None
Description
Currently the list of scanned classes by blueprint-maven-plugin can be restricted using scanPath parameter, so the list can also contain the classes of the project dependencies. With my projects I experience two kind of issues with it:
- If the the scan path is chosen too widely it may lead to a build failure. For example: Assume project A has a dependency to project B an both have the same base package, which is chosen as the scan path. Project B has a blueprint bean, which implements an interface from some provided dependency of it. The build of project A will fail then, because it will try to scan a blueprint bean of project B but it will miss its provided dependency. An example error message:
Failed to execute goal org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate (default) on project email-template-editor-core: Execution default of goal org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate failed: A required class was missing while executing org.apache.aries.blueprint:blueprint-maven-plugin:1.9.0:blueprint-generate: com/mycorporation/scheduler/api/ScheduledService
- If a bean of project B appears in the autowire.xml of project A, but the package of that bean is not imported in the manifest of project A, a ClassNotFoundException will be thrown during runtime:
java.lang.ClassNotFoundException: com.mycorporation.project-a.commons.notification.IncomingNotificationService from [Module "deployment.com.mycorporation.project-b.commons.core:0.0.1.SNAPSHOT" from Service Module Loader]
I suggest to add an option, to exclude dependencies from the list of scanned classes, like maven-bundle-plugin's excludeDependencies for example, and give this option per default such value as to exclude all dependencies.
Attachments
Attachments
Issue Links
- is related to
-
ARIES-1792 blueprint-maven-plugin slows down compilation
- Resolved