[ 
https://issues.apache.org/jira/browse/MNG-7479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536966#comment-17536966
 ] 

ASF GitHub Bot commented on MNG-7479:
-------------------------------------

laeubi commented on PR #740:
URL: https://github.com/apache/maven/pull/740#issuecomment-1126642170

   By the way I can always inject me the container
   ```
   @Requirement
   PlexusContainer container;
   ```
   
   and then lookup the object by its (string) class name
   Object eventSpy;
   ```
   try {
       eventSpy = container.lookup("org.apache.maven.eventspy.EventSpy", 
"profiler");
       System.out.println("EventSpy is " + eventSpy);
   } catch (ComponentLookupException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
   }
   ```
   and then use reflection to call the `EventSpy#onEvent`, but this really 
makes the code quite ugly and only because I can't load the interface itself...




> Export the package org.apache.maven.eventspy
> --------------------------------------------
>
>                 Key: MNG-7479
>                 URL: https://issues.apache.org/jira/browse/MNG-7479
>             Project: Maven
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 3.8.5
>            Reporter: Christoph Läubrich
>            Priority: Major
>
> I'm currently try to fetch a specific EventSpy to inject an event there 
> (maven-profiler).
> Sadly in my maven plugin when I try to get it injected:
>  @Requirement(role = EventSpy.class, hint = "profiler", optional = true)
>  EventSpy eventSpy;
> This results in ClassNotFoundException: org.apache.maven.eventspy.EventSpy
> I noticed that the maven-core do not export the 'org.apache.maven.eventspy' 
> package and that is the cause of this, I'd like to suggest to export the 
> package as there seem no other standard way to interact/access event spys 
> otherwise.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to