尝试使用带有Java 1.7的全新安装的Apache Maven 3.1.0将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文件引用了从属项目(上面的树),如下所示:
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上的完整日志):
mvn compile
[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 /存储库
保存文件。
我还尝试了以下命令:
mvn -U mvn clear -U
我尝试使用Maven 3.0.5,但是也失败了。
您如何强制Maven使用库的本地版本,而不是尝试查找尚无法下载的库?
更改:
<!-- ANT4X --> <dependency> <groupId>net.sourceforge</groupId> <artifactId>ant4x</artifactId> <version>${net.sourceforge.ant4x-version}</version> <scope>provided</scope> </dependency>
至:
<!-- ANT4X --> <dependency> <groupId>net.sourceforge.ant4x</groupId> <artifactId>ant4x</artifactId> <version>${net.sourceforge.ant4x-version}</version> <scope>provided</scope> </dependency>
的groupId的net.sourceforge是不正确的。正确的值为net.sourceforge.ant4x。
groupId
net.sourceforge
net.sourceforge.ant4x