背景
尝试使用全新安装的 Apache Maven 3.1.0 和 Java 1.7 将 Java 库添加到本地 Maven 存储库。以下是添加 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/。
- 编辑用户的 settings.xml 文件。
- 更新本地存储库的值:
${user.home}/.m2/repository
- 保存文件。
我还尝试了以下命令:
mvn -U
mvn clear -U
我尝试使用 Maven 3.0.5,但也失败了。
问题
您如何强制 Maven 使用该库的本地版本,而不是试图寻找一个尚未可供下载的库?
有关的
未解决问题的相关问题和信息: