Фон
Попытка добавить библиотеку Java в локальный репозиторий Maven, используя чистую установку Apache Maven 3.1.0 с Java 1.7. Вот как был добавлен файл архива Java:
mvn install:install-file \
-DgroupId=net.sourceforge.ant4x \
-DartifactId=ant4x \
-Dversion=0.3.0 \
-Dfile=ant4x-0.3.0.jar \
-Dpackaging=jar
Это создало следующую структуру каталогов:
$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
Файл проекта pom.xml
ссылается на зависимый проект (дерево выше) следующим образом:
<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>
Проблема
После запуска mvn compile
была возвращена следующая ошибка (полный журнал в 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]
В документации указывается ряд проблем, которые могут присутствовать, однако ни один из них не применяется.
Идеи
Я пробовал следующее, согласно документации:
- Скопировать настройки по умолчанию в домашний каталог пользователя для Maven:
cp /opt/apache-maven-3.1.0/conf/settings.xml $HOME/.m2/.
- Отредактируйте файл user settings.xml.
- Обновить значение для локального репозитория:
${user.home}/.m2/repository
- Сохраните файл.
Я также пробовал следующие команды:
mvn -U
mvn clear -U
Я попытался использовать Maven 3.0.5, но это тоже не удалось.
Вопрос
Как заставить Maven использовать локальную версию библиотеки, а не пытаться найти библиотеку, которая еще не доступна для загрузки?
Связанные
Связанные вопросы и информация, которые не помогли решить проблему:
- POM для org.springframework.security:org.springframework.security.web:jar:3.0.5.RELEASE отсутствует, доступная информация о зависимости недоступна
- Как я могу найти POM, который запрашивает отсутствующую POM?
- Maven: включение jar не найдено в публичном репозитории
- http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
- http://giallone.blogspot.ca/2012/12/maven-install-missing-offline.html