我正在使用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.lastUpdated
和sadffweklsfduasfsdjf-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。