You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamás Cservenák (Jira)" <ji...@apache.org> on 2022/05/11 20:47:00 UTC

[jira] [Comment Edited] (MNG-7475) [REGRESSION] ModelBuilder API Change breaks ShrinkWrap: NoSuchMethodError in FileProfileActivator.setPathTranslator()

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

Tamás Cservenák edited comment on MNG-7475 at 5/11/22 8:46 PM:
---------------------------------------------------------------

Same issue as in https://issues.apache.org/jira/browse/MNG-7449?focusedCommentId=17518729&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17518729

You are (mis)using a component FileProfileActivator by manually constructing it, while it is a managed component. Same fix applies as well, and you will regain backward compatibility as well.


was (Author: cstamas):
Same issue as in https://issues.apache.org/jira/browse/MNG-7449?focusedCommentId=17518729&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17518729

You are (mis)using a component FileProfileActivator by manually constructing, while it is a managed component. Same fix applies as well, and you will regain backward compatibility as well.

> [REGRESSION] ModelBuilder API Change breaks ShrinkWrap: NoSuchMethodError in FileProfileActivator.setPathTranslator()
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-7475
>                 URL: https://issues.apache.org/jira/browse/MNG-7475
>             Project: Maven
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 3.8.5
>         Environment: any & deterministically reproducible / proven by public API docs
>            Reporter: Andreas Loew
>            Priority: Major
>
> Maven 3.8.5 breaks [Arquillian ShrinkWrap|https://arquillian.org/modules/shrinkwrap-shrinkwrap] (and thereby, most if not all use of Red Hat/JBoss Arquillian) by changing the published public API of class org.apache.maven.model.profile.activation.FileProfileActivator:
> {code:java}
> [ERROR] com.dbenergie.ndm.bnb.business.NutzungsinformationenCreateOrtungsinfoTest  Time elapsed: 0.127 s  <<< ERROR!
> java.lang.NoSuchMethodError: 'org.apache.maven.model.profile.activation.FileProfileActivator org.apache.maven.model.profile.activation.FileProfileActivator.setPathTranslator(org.apache.maven.model.path.PathTranslator)'
>         at org.jboss.shrinkwrap.resolver.impl.maven.internal.SettingsXmlProfileSelector.<init>(SettingsXmlProfileSelector.java:50)
>         at org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.getRemoteRepositories(MavenWorkingSessionImpl.java:327)
>         at org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.resolveDependencies(MavenWorkingSessionImpl.java:199)
>         at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.using(MavenStrategyStageBaseImpl.java:71)
>         at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:53)
>         at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:40)
>         at org.arquillian.container.chameleon.controller.Resolver.resolve(Resolver.java:45)
>         at org.arquillian.container.chameleon.ContainerLoader.load(ContainerLoader.java:36)
>         at org.arquillian.container.chameleon.ChameleonConfiguration.getConfiguredAdapter(ChameleonConfiguration.java:116)
>         at org.arquillian.container.chameleon.ChameleonContainer.init(ChameleonContainer.java:81)
>         at org.arquillian.container.chameleon.InitiateContainer.initiateChameleon(InitiateContainer.java:69)
>         at org.arquillian.container.chameleon.InitiateContainer.setup(InitiateContainer.java:38) {code}
> It seems that method
> {code:java}
> public FileProfileActivator setPathTranslator( PathTranslator pathTranslator ) {code}
> as well as the class of its argument - has been refactored/renamed to
> {code:java}
> public FileProfileActivator setProfileActivationFilePathInterpolator( ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator ) {code}
> While the new name might be regarded as more stylish and/or even more appropriate, unfortunately, this results in an incompatible change of a publicly documented API:
> [https://maven.apache.org/ref/3.8.4/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
> [https://maven.apache.org/ref/3.8.5/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
> Therefore, please revert this change - it clearly breaks some valuable dependent software (which unfortunately is no longer maintained by RedHat)...
> Many thanks in advance! :)
>  



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