[
https://issues.apache.org/jira/browse/MNG-6739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17418537#comment-17418537
]
Tamás Cservenák commented on MNG-6739:
--------------------------------------
[~jam01] Howdy, did you solve this issue?
Just FTR let me list some facts:
* the technique of custom bindings as in Sisu doco does work fine in "vanilla"
SISU
* but, Maven Plugin is not managed by "vanilla" Sisu container, it but in
Maven container that creates complex hierarchical class-paths.
* Maven does not export Guice to plugin class-path ("realm") as you figured
* if you add Guice as direct dependency to plugin, it will most probably clash
with core Guice (same class on two class-loaders) IF you manage your components
within JSR330 container of (Sisu embedded in) Maven.
* Hence, I'd say, if you really must have custom bindings within a maven
plugin, you need to add all the dependencies (Guice), create a "bootstrap"
that brings all your components up using "your" Guice instance, and then bridge
it into Mojo (as injection into components managed by Maven SISU will not "see"
these components, will not inject them).
Anyway, these above are just tips. In any case (solved/unsolved) am expecting
your response.
> JSR 330 not picking up Guice Custom Bindings
> --------------------------------------------
>
> Key: MNG-6739
> URL: https://issues.apache.org/jira/browse/MNG-6739
> Project: Maven
> Issue Type: Bug
> Components: Plugins and Lifecycle
> Affects Versions: 3.6.0
> Reporter: Jose Montoya
> Priority: Major
> Fix For: 4.0.x-candidate
>
>
> See: https://maven.apache.org/maven-jsr330.html and
> https://wiki.eclipse.org/Sisu/PlexusMigration
> These docs state that Guice Modules annotated with {{@Named}} will be loaded
> and configured automatically by Sisu. I think the actual loading is done by
> {{org.eclipse.sisu.space.QualifiedTypeBinder}} but it only seems to work when
> running tests via the {{maven-plugin-testing-harness}} and not when actually
> running the plugin.
> I've tried to add various different artifacts to compilation including
> {{sisu.inject}}, {{sisu.inject.extender}} and {{plexus-container-default}}
> but cannot get the Modules to be loaded, and consequently the Mojo fails to
> instantiate with {{com.google.inject.ProvisionException: Unable to provision}}
> I'm working on a simple project to reproduce, I'll update the ticket with a
> link to it. If I can provide more information, or if I'm just missing
> something simple please let me know. Thanks
> EDIT: Here's the repo https://github.com/jam01/maven-plugin-jsr330-issue
> {noformat}
> mvn clean install
> mvn com.jam01.test:printer-maven-plugin:print
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)