我正在使用Linux系统。

下,我的本地Maven存储库目录/Users/username/.m2/repository/下有以下目录:

com/amazonaws/android/core/amazon-aws-android-core/1.6.1

这意味着该目录的完整路径是:
/Users/username/.m2/repository/com/amazonaws/android/core/amazon-aws-android-core/1.6.1

在上面的目录下,我有以下文件:
amazon-aws-android-core-1.6.1.jar.lastUpdated
amazon-aws-android-core-1.6.1.pom.lastUpdated

在我的项目中,我的pom.xml包含:
<dependency>
    <groupId>com.amazonaws.android.core</groupId>
    <artifactId>amazon-aws-android-core</artifactId>
    <version>1.6.1</version>
    <type>jar</type>
</dependency>

但是,当我运行mvn clean install时,总是收到以下错误消息:
The following artifacts could not be resolved: com.amazonaws.android.core:amazon-aws-android-core:jar:1.6.1

为什么会出现上述错误以及如何消除该错误?

最佳答案

您收到上述错误,因为实际的.jar文件不在您的存储库中。 .lastUpdated文件不是实际的.jar文件,而是它们的最新更新版本。 .lastUpdated文件只是簿记文件。

例如,让我们创建一个废话依赖:

<dependency>
    <groupId>asdfasdf</groupId>
    <artifactId>sadffweklsfduasfsdjf</artifactId>
    <version>1.0</version>
</dependency>

并在其上运行mvn install

然后,Maven创建目录~/.m2/repository/asdfasdf/sadffweklsfduasfsdjf/1.0并在其中填充sadffweklsfduasfsdjf-1.0.jar.lastUpdatedsadffweklsfduasfsdjf-1.0.pom.lastUpdated文件。

在.lastUpdated文件之一中,您只需找到以下内容:
1 #NOTE: This is an Aether internal implementation file, its format can be ch    anged without prior notice.
2 #Fri Jan 03 09:12:05 IST 2014
3 http\://repo.maven.apache.org/maven2/.lastUpdated=1388733125394
4 http\://repo.maven.apache.org/maven2/.error=

而不是实际的.jar或.pom文件。

要消除此错误,您需要确保Maven实际上能够访问远程存储库并下载所需的实际Amazon AWS jar。

10-02 06:38