项目的POM丢失,没有可用的依赖项信息

背景

尝试使用带有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文件引用了从属项目(上面的树),如下所示:

<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]

该文档指出了可能存在的许多问题,但是似乎没有一个适用。

主意

根据文档,我尝试了以下操作:

  1. 将默认设置复制到Maven的用户主目录中:

    cp /opt/apache-maven-3.1.0/conf/settings.xml $ HOME / .m2 /。

  2. 编辑用户的settings.xml文件。

  3. 更新本地存储库的值:

    $ {user.home} /。m2 /存储库

  4. 保存文件。

我还尝试了以下命令:

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>

groupIdnet.sourceforge是不正确的。正确的值为net.sourceforge.ant4x

以上是 项目的POM丢失,没有可用的依赖项信息 的全部内容, 来源链接: utcz.com/qa/411618.html

回到顶部