Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
-
Windows XP SP2.
Description
From the local M2 repository I deleted the jar file junit 3.8.1
including the corresponding POM and hash files. However these files are
also present in our corporate repository (currently used for simulation
purposes):
http://localhost:8080/maven-proxy-webapp/repository
We also have a file ~/.m2/settings.xml:
<settings>
<mirrors>
<mirror>
<mirrorOf>central</mirrorOf>
<id>central_mirror</id>
<url>http://localhost:8080/maven-proxy-webapp/repository</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>DEV</id>
<repositories>
<repository>
<id>central</id>
<url>http://localhost:8080/maven-proxy-webapp/repository</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<url>http://localhost:8080/maven-proxy-webapp/repository</url>
</pluginRepository>
</pluginRepositories>
<properties>
<repository.id>repo_dev</repository.id>
<repository.url>scp://localhost/m2demo/repo_dev</repository.url>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>DEV</activeProfile>
</activeProfiles>
<settings>
This allows to always pass through the corporate repository to retrieve
artifacts/plugins (instead of the default repository
http://www.ibiblio.org/maven2).
Remark that this corporate repository is running locally , so normally
it is NOT needed to have Internet access. **Therefore the local machine
isn't connected to the Internet.**
We have the following ANT script build.xml that uses M2 ant tasks 2.0.4:
build.xml:
<project name="test" default="test"
xmlns:m="antlib:org.apache.maven.artifact.ant">
<target name="test">
<m:install-provider artifactId="wagon-ssh"
version="1.0-alpha-5"/>
</target>
</project>
In the same folder as build.xml we also have a file pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.project</groupId>
<artifactId>project-model</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>repo_dev</id>
<url>scp://localhost/m2demo/repo_dev</url>
</repository>
</distributionManagement>
</project>
When executing the target 'test' from the above ANT script, we get the
following error message:
test:
[m:install-provider] An error has occurred while processing the Maven artifact tasks.
[m:install-provider] Diagnosis:
[m:install-provider]
[m:install-provider] Error downloading wagon provider from the remote
repository: Unable to get dependency information: Unable to read the
metadata file for artifact 'junit:junit:jar': Error getting P OM for
'junit:junit' from the repository: Error transferring file
[m:install-provider] junit:junit:pom:3.8.1
[m:install-provider]
[m:install-provider] from the specified remote repositories:
[m:install-provider] central (http://repo1.maven.org/maven2)
[m:install-provider]
[m:install-provider] junit:junit:jar:3.8.1
[m:install-provider]
[m:install-provider] from the specified remote repositories:
[m:install-provider] central (http://repo1.maven.org/maven2)
[m:install-provider] Path to dependency:
[m:install-provider] 1) unspecified:unspecified:jar:0.0
[m:install-provider] 2) org.apache.maven.wagon:wagon-ssh:jar:1.0-alpha-5
[m:install-provider] 3) org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8
[m:install-provider]
[m:install-provider]
[m:install-provider]
BUILD FAILED
C:\tmp\build.xml:8: Error downloading wagon provider from the remote
repository: Unable to get dependency information: Unable to read the
metadata file for artifact 'junit:junit:jar': Error getting PO M for
'junit:junit' from the repository: Error transferring file
junit:junit:pom:3.8.1
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
junit:junit:jar:3.8.1
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
Path to dependency:
1) unspecified:unspecified:jar:0.0
2) org.apache.maven.wagon:wagon-ssh:jar:1.0-alpha-5
3) org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8
So it seems install-provider just ignores the central repository
settings defined in ~/.m2/settings.xml and uses the settings defined in
wagon-ssh-1.0-alpha-5.pom .
Remark : we also tested with the following variants of the above ANT
script build.xml:
<project name="test" default="test"
xmlns:m="antlib:org.apache.maven.artifact.ant">
<target name="test">
<m:pom id="POM" file="pom.xml"/>
<m:install-provider artifactId="wagon-ssh"
version="1.0-alpha-5"/>
<!-- OR
<m:install-provider artifactId="wagon-ssh"
version="1.0-alpha-5" pomRefId="POM"/>
-->
</target>
</project>
but unfortunately the same error occurred.
However, the following ANT script solves the above problem :
<project name="test" default="test"
xmlns:m="antlib:org.apache.maven.artifact.ant">
<target name="test">
<m:pom id="POM" file="pom.xml"/>
<!-- will retrieve junit from our corporate repository (using
settings from ~/.m2/settings.xml) -->
<m:dependencies pomRefId="POM"/>
<!-- junit already in local repository, so won't give any errors any
more -->
<m:install-provider artifactId="wagon-ssh"
version="1.0-alpha-5"/>
</target>
</project>
but this is because the task m:dependencies correctly uses the file
~/.m2/settings.xml to retrieve junit from the corporate repository.
Attachments
Issue Links
- is related to
-
MANTTASKS-12 No means of preventing ant task from querying repo1.maven.org
- Closed