You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Alexander Bubenchikov <al...@jetbrains.com> on 2019/09/02 08:13:08 UTC

Re: Found Issues - Release Apache Maven Version 3.6.2

Sorry for late reply, Tibor. I'll look into it and create a new thread/PR
regarding this. Despite it will not solve our problems with maintaining
compatibility now (there are plenty of users who need old maven  versions),
it will greatly helps in future.

On Thu, Aug 29, 2019 at 9:51 PM Tibor Digana <ti...@apache.org> wrote:

> Hi Alexander,
>
> Would it solve your problem if we uncover the method [1] and develop a
> builder for the chain of methods [2]?
> To uncover [2] means to make the Plexus Container API accessible within the
> builder.
> Perhaps more has to be done but that's up to the future collaborative work
> on GitHub.
>
> [1]:
>
> https://github.com/apache/maven/blob/master/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java#L281
> [2]:
>
> https://github.com/apache/maven/blob/master/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java#L276-L288
>
> Cheers
> Tibor17
>
> On Thu, Aug 29, 2019 at 3:39 PM Alexander Bubenchikov <
> alexander.bubenchikov@jetbrains.com> wrote:
>
> > Hi Stuart
> > E.g.
> >
> https://github.com/JetBrains/intellij-community/blob/master/plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/Maven3XServerEmbedder.java
> > customizeComponents method
> >
> > Originally idea use own components defined in
> > META-INF/plexus/components.xml with hints "ide", then original maven
> > components are replaced in plexus container. Container instance is
> getting
> > using reflection from MavenCli,
> > This functionality is very old. It was an only solution before
> introducing
> > extensions in maven, as I understand. Also at the moment, we still
> support
> > IDE compatibility with maven versions starting from 3.0, there are still
> > some amount of users who use really old maven versions in their
> enterprise
> > projects.
> >
> > Thank you for your answer, I'll consider refactoring maven server to core
> > extension mechanism for maven 3.3.1 and above
> >
> >
> >
> >
> > On Thu, Aug 29, 2019 at 3:57 PM Stuart McCulloch <mc...@gmail.com>
> > wrote:
> >
> >> How are you replacing them currently?
> >>
> >> The typical way is to use the extensions mechanism:
> >> https://maven.apache.org/docs/3.3.1/release-notes.html#Core_Extensions
> >>
> >> Components contributed via an extension have a higher priority over the
> >> original component in core (assuming that they have the same JSR330 name
> >> or
> >> Plexus hint)
> >>
> >> On Thu, 29 Aug 2019 at 11:46, Alexander Bubenchikov <
> >> alexander.bubenchikov@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 <eolivelli@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 <ti...@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 <na...@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 <tibordigana@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
> >> >
> >>
> >
> >
> > --
> > Alexander Bubenchikov
> > Software developer
> > JetBrains
> > http://www.jetbrains.com
> > The Drive to Develop
> >
>


-- 
Alexander Bubenchikov
Software developer
JetBrains
http://www.jetbrains.com
The Drive to Develop