Background
Trying to add a Java library to the local Maven repository using a clean install of Apache Maven 3.1.0, with Java 1.7. Here is how the Java archive file was added:
mvn install:install-file \ -DgroupId=net.sourceforge.ant4x \ -DartifactId=ant4x \ -Dversion=0.3.0 \ -Dfile=ant4x-0.3.0.jar \ -Dpackaging=jar This created the following directory structure:
$HOME/.m2/repository/net/sourceforge/ant4x/ ├── 0.3.0 │ ├── ant4x-0.3.0.jar.lastUpdated │ └── ant4x-0.3.0.pom.lastUpdated └── ant4x ├── 0.3.0 │ ├── ant4x-0.3.0.jar │ ├── ant4x-0.3.0.pom │ └── _remote.repositories └── maven-metadata-local.xml The project's pom.xml file references the dependent project (the tree above) as follows:
<properties> <java-version>1.5</java-version> <net.sourceforge.ant4x-version>0.3.0</net.sourceforge.ant4x-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> ... <dependency> <groupId>net.sourceforge</groupId> <artifactId>ant4x</artifactId> <version>${net.sourceforge.ant4x-version}</version> <scope>provided</scope> </dependency> Problem
After running mvn compile, the following error was returned (full log on Pastebin):
[ERROR] Failed to execute goal on project ant4docbook: Could not resolve dependencies for project net.sourceforge:ant4docbook:jar:0.6-SNAPSHOT: Failure to find net.sourceforge:ant4x:jar:0.3.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1] The documentation notes a number of issues that could be present, however none of these appear to apply.
Ideas
I tried the following, as per the documentation:
- Copy default settings to user's home directory for Maven:
cp /opt/apache-maven-3.1.0/conf/settings.xml $HOME/.m2/.
- Edit the user's settings.xml file.
- Update the value for the local repository:
${user.home}/.m2/repository - Save the file.
I also tried the following commands:
mvn -U mvn clear -U I tried using Maven 3.0.5, but that failed, too.
Question
How do you force Maven to use the local version of the library, rather than trying to seek out a library that is not yet available to download?
Related
Related questions and information that did not resolve the issue:
- The POM for org.springframework.security:org.springframework.security.web:jar:3.0.5.RELEASE is missing, no dependency information available
- How can I locate the POM which requests a missing POM?
- Maven: Including jar not found in public repository
- http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
- http://giallone.blogspot.ca/2012/12/maven-install-missing-offline.html