Hi,

I'm faced to a infrastructure/network problem ... and I can't determine if
it's a feature not supported, a bug, or other (configuration ?).

*Environment* :
- Eclipse Kepler SR2 & m2e 1.4.0 or Luna SR1 & m2e 1.6.0
- External Maven v3.2.3 configured as "Installation"
- A settings.xml configured as global/user "User Settings" (and used with
previous Maven)
- settings.xml defines a master https company repository (repository &
pluginRepository)
- settings.xml defines "server" credendials with password encryption
(settings-security.xml usage)
- id of server/repository/pluginRepository is the same in settings.xml

*Use case* :
- My company provides a Maven repository for internal developments
- This repository can be accessed from internet (https) for external
developments (at home ^^, no VPN configured, ...) via an infrastructure
reverse proxy

*Problem* :
- The dependencies resolution works in Maven command line, but not through
m2e plugin (only when dependency doesn't exist in local repository,
classpath configuration works perfectly when dependency exists in local
repository)
- Error is : Access denied to
https://repository.my-company.com/repository/virtual/com/my-company/my-artifact/1.0.0-SNAPSHOT/maven-metadata.xml.
Error code 401, Unauthorized

It is minor, but with m2e, I have lost the practice to use maven command
line ^^.

The error seems to be the same as the direct url access via a browser.
This direct http call contains the (logically) response header
'WWW-Authenticate: "BASIC realm="Unspecified""', and authentication popup
appears.
(I can't simply catch m2e http call, wireshark analysis on https is not
trivial).

=> *Hypothesis* :
- m2e doesn't use server credentials defined in settings.xml
- m2e doesn't know re-send the http call with credentials when reverse
proxy answers 401

I note that in the m2e plugin configuration, the maven embedded is used for
dependencies resolution ... but if settings.xml used, it "should" work ...

Plugin seems to configure server credentials
(org.eclipse.m2e.core.internal.repository.RepositoryRegistry), so some java
properties about native proxy configuration in addition to settings.xml are
not 'required' (i'm not facing to an outgoing proxy). So ... I'm a little
lost :-)

This feature is supposed to be supported ? Or I'm wrong in somewhere ? Any
idea are welcome.

Thank you in advance (and globally for your work, m2e is simply magic and
wonderful).

Complete stack for information (with m2e 1.6.0) :
org.eclipse.aether.transfer.MetadataTransferException: [previous error]
    at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:363)
    at
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkMetadata(DefaultUpdateCheckManager.java:320)
    at
org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultMetadataResolver.java:332)
    at
org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(DefaultMetadataResolver.java:205)
    at
org.apache.maven.repository.internal.DefaultVersionResolver.resolveVersion(DefaultVersionResolver.java:250)
    at
org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:258)
    at
org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:525)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:509)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:409)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse(DefaultDependencyCollector.java:494)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:458)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:363)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:351)
    at
org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:254)
    at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:316)
    at
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:172)
    at
org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:213)
    at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:186)
    at
org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:118)
    at
org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:634)
    at
org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:529)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:491)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1)
    at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:495)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:350)
    at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:297)
    at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:253)
    at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:169)
    at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1)
    at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at
org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
    at
org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1353)
    at
org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:137)
    at
org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:73)
    at
org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:62)
    at
org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:82)
    at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

-- 
Alix Lourme
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to