ModelInterpolator (DefaultPlexusContainer container) { if (VersionComparatorUtil.compare(getMavenVersion(), "3.6.2") >= 0) { org.apache.maven.model.path.DefaultPathTranslator pathTranslator = new org.apache.maven.model.path.DefaultPathTranslator(); UrlNormalizer urlNormalizer = new DefaultUrlNormalizer(); container.addComponent(pathTranslator, PathTranslator.class.getName()); container.addComponent(pathTranslator, PathTranslator.class, "ide"); container.addComponent(urlNormalizer, UrlNormalizer.class.getName()); container.addComponent(urlNormalizer, UrlNormalizer.class, "ide"); StringSearchModelInterpolator interpolator = new CustomMaven3ModelInterpolator2(); interpolator.setPathTranslator(pathTranslator); interpolator.setUrlNormalizer(urlNormalizer); if (VersionComparatorUtil.compare(getMavenVersion(), "3.8.5") >= 0) { try { Class<?> clazz = Class.forName("org.apache.maven.model.interpolation.ModelVersionProcessor"); Object component = getComponent(clazz); container.addComponent(component, clazz.getName()); container.addComponent(component, clazz, "ide"); Method methodSetModelVersionProcessor = interpolator.getClass().getMethod("setVersionPropertiesProcessor", clazz); methodSetModelVersionProcessor.invoke(interpolator, component); } catch (Exception e) { MavenServerGlobals.getLogger().error(e); } } return interpolator; } else { ModelInterpolator modelInterpolator = getComponent(ModelInterpolator.class, "ide"); myContainer.addComponent(modelInterpolator, ModelInterpolator.class.getName()); myContainer.addComponent(getComponent(org.apache.maven.project.interpolation.ModelInterpolator.class, "ide"), org.apache.maven.project.interpolation.ModelInterpolator.ROLE); return modelInterpolator; } }