Having interface in a singleton is a kind of silly design because these are
two abstractions which go one against the other.
The CDI has an injection Provider and you caniterate over beans of certain
bean type and select according @Name then.
I think this mechanism can be used.

On Thu, Aug 29, 2019 at 12:46 PM Alexander Bubenchikov <
alexander.bubenchi...@jetbrains.com> wrote:

> Hi Enrico, my name is Alex, I've joined to Jetbrains this year and
> responsible for maven integration and Intellij idea.
>
> he issue happen because we replace some components in maven
> (ModelInterpolator in this case) to our own implementation which have
> injected PathTranslator and UrlNormalizer
> I've workarounded the issue in our code, but I didn't dig well into this.
> Is there any new way to replace maven components?
>
> On Wed, Aug 28, 2019 at 11:57 PM Enrico Olivelli <eolive...@gmail.com>
> wrote:
>
>> It may be due to any change regarding jsr 330 like
>> https://issues.apache.org/jira/plugins/servlet/mobile#issue/MNG-6686
>>
>>
>> I think it is an issue for Idea and not for us.
>> It would be good to have some developer from Jetbrains on this list
>>
>>
>> Enrico
>>
>> Il mer 28 ago 2019, 22:23 Tibor Digana <tibordig...@apache.org> ha
>> scritto:
>>
>> > I do not have NPE in the log.
>> > Guice is certainly not CDI. Moving Guice to CDI must be painful.
>> > One reason why PathTranslator could not be found is that there are
>> several
>> > bean instances of the same interface.
>> > Second problem might go with the Guice/CDI.
>> > See this inheritance:
>> >
>> > @Named
>> > @Singleton
>> > public class DefaultPathTranslator
>> >     implements PathTranslator
>> > {
>> >
>> > public interface PathTranslator
>> > {
>> >
>> >
>> >
>> > On Wed, Aug 28, 2019 at 10:04 PM Filipe Sousa <nat...@gmail.com> wrote:
>> >
>> >> Hi,
>> >>
>> >> Not sure if it’s the same bug I commented in
>> >>
>> https://issues.apache.org/jira/browse/MNG-6638?focusedCommentId=16852351&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16852351
>> >>
>> >> I reported to Jetbrains
>> https://youtrack.jetbrains.com/issue/IDEA-215315
>> >> <https://youtrack.jetbrains.com/issue/IDEA-215315> and is supposed to
>> be
>> >> fixed in 2019.3
>> >>
>> >> > On 28 Aug 2019, at 20:43, Tibor Digana <tibordig...@apache.org>
>> wrote:
>> >> >
>> >> > I used Maven 3.6.2 in the IntelliJ IDEA 2019.2.1 and I found these
>> >> errors
>> >> > in the log file:
>> >> > ~/.IntelliJIdea2019.2/system/log/idea.log
>> >> >
>> >> > 2019-08-28 21:31:32,072 [255937677]  ERROR -
>> >> #org.jetbrains.idea.maven
>> >> > - com.google.inject.CreationException: Unable to create injector, see
>> >> the
>> >> > following errors:
>> >> >
>> >> > 1) No implementation for org.apache.maven.model.path.PathTranslator
>> was
>> >> > bound.
>> >> >  while locating org.apache.maven.model.path.PathTranslator
>> >> >    for field at
>> >> >
>> >>
>> org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown
>> >> > Source)
>> >> >  at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
>> >> >
>> >> > 2) No implementation for org.apache.maven.model.path.UrlNormalizer
>> was
>> >> > bound.
>> >> >  while locating org.apache.maven.model.path.UrlNormalizer
>> >> >    for field at
>> >> >
>> >>
>> org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown
>> >> > Source)
>> >> >  at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
>> >> >
>> >> > 2 errors
>> >> > java.lang.RuntimeException: com.google.inject.CreationException:
>> Unable
>> >> to
>> >> > create injector, see the following errors:
>> >> >
>> >> > 1) No implementation for org.apache.maven.model.path.PathTranslator
>> was
>> >> > bound.
>> >> >  while locating org.apache.maven.model.path.PathTranslator
>> >> >    for field at
>> >> >
>> >>
>> org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown
>> >> > Source)
>> >> >  at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
>> >> >
>> >> > 2) No implementation for org.apache.maven.model.path.UrlNormalizer
>> was
>> >> > bound.
>> >> >  while locating org.apache.maven.model.path.UrlNormalizer
>> >> >    for field at
>> >> >
>> >>
>> org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown
>> >> > Source)
>> >> >  at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
>> >> >
>> >> > 2 errors
>> >> > at
>> >> >
>> >>
>> com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
>> >> > at
>> >> >
>> >>
>> com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:159)
>> >> > at
>> >> >
>> >>
>> com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
>> >> > at com.google.inject.Guice.createInjector(Guice.java:87)
>> >> > at com.google.inject.Guice.createInjector(Guice.java:69)
>> >> > at com.google.inject.Guice.createInjector(Guice.java:59)
>> >> > at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer.addComponent(DefaultPlexusContainer.java:344)
>> >> > at
>> >> >
>> >>
>> org.codehaus.plexus.DefaultPlexusContainer.addComponent(DefaultPlexusContainer.java:332)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customizeComponents(Maven3XServerEmbedder.java:573)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customize(Maven3XServerEmbedder.java:542)
>> >> > at
>> >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>> >> > Method)
>> >> > at
>> >> >
>> >>
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> >> > at
>> >> >
>> >>
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> > at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
>> >> > at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
>> >> > at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
>> >> > at java.base/java.security.AccessController.doPrivileged(Native
>> Method)
>> >> > at
>> java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
>> >> > at java.base/java.security.AccessController.doPrivileged(Native
>> Method)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
>> >> > at
>> >> >
>> >>
>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>> >> > at
>> >> >
>> >>
>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>> >> > at java.base/java.lang.Thread.run(Thread.java:834)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
>> >> > at
>> >> >
>> >>
>> java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
>> >> > at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
>> >> > at
>> >> >
>> >>
>> java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:209)
>> >> > at
>> >> >
>> >>
>> java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:161)
>> >> > at com.sun.proxy.$Proxy216.customize(Unknown Source)
>> >> > at
>> >> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>> >> > Method)
>> >> > at
>> >> >
>> >>
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> >> > at
>> >> >
>> >>
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >> > at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>> >> > at
>> >> com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:175)
>> >> > at
>> com.intellij.execution.rmi.RemoteUtil.access$200(RemoteUtil.java:38)
>> >> > at
>> >>
>> com.intellij.execution.rmi.RemoteUtil$1$1$1.compute(RemoteUtil.java:156)
>> >> > at
>> >> >
>> >>
>> com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:45)
>> >> > at
>> >> >
>> >>
>> com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:227)
>> >> > at
>> com.intellij.execution.rmi.RemoteUtil$1$1.invoke(RemoteUtil.java:153)
>> >> > at com.sun.proxy.$Proxy216.customize(Unknown Source)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.MavenEmbedderWrapper.doCustomize(MavenEmbedderWrapper.java:92)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.MavenEmbedderWrapper.onWrappeeCreated(MavenEmbedderWrapper.java:45)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.RemoteObjectWrapper.getOrCreateWrappee(RemoteObjectWrapper.java:42)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.MavenEmbedderWrapper.doCustomize(MavenEmbedderWrapper.java:92)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.MavenEmbedderWrapper.lambda$customizeForResolve$1(MavenEmbedderWrapper.java:65)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenEmbedderWrapper.java:64)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1261)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:45)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:140)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$000(MavenProjectsProcessor.java:33)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:114)
>> >> > at
>> >> >
>> >>
>> org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:468)
>> >> > at
>> >> >
>> >>
>> com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:294)
>> >> > at
>> >> >
>> >>
>> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>> >> > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>> >> > at
>> >> >
>> >>
>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>> >> > at
>> >> >
>> >>
>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>> >> > at java.base/java.lang.Thread.run(Thread.java:834)
>> >>
>> >>
>>
>
>
> --
> Alexander Bubenchikov
> Software developer
> JetBrains
> http://www.jetbrains.com
> The Drive to Develop
>

Reply via email to