我试图在Intellij Idea中创建一个OSGi maven项目。这是一个简单的计算器。当我尝试构建项目时,控制台上出现以下错误信息。原因是什么呢?
错误信息如下:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building cal 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.eclipse.osgi:org.eclipse.osgi:jar:3.9.1.v20130814-1242
is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.445s
[INFO] Finished at: Fri May 23 09:22:30 IST 2014
[INFO] Final Memory: 6M/146M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project cal: Could not resolve dependencies
for project org.wso2.nilash:cal:jar:1.0.0: Failure to find
org.eclipse.osgi:org.eclipse.osgi:jar:3.9.1.v20130814-1242 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]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN /DependencyResolutionException
我还像这样在pom.xml中添加了依赖项:
<dependency>
<groupId>org.eclipse.osgi</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>3.9.1.v20130814-1242</version>
</dependency>
我还添加了不同的版本。但是没有成功。
控制台输出本身包含一个提示,说明可能导致问题的原因。
来自confluence的apache maven文档:
如果本地Maven存储库中缓存了不兼容的JAR版本,也会出现类似的问题。在这种情况下,您还应该尝试使用此错误通常在Maven无法下载时发生依赖关系。出现此错误的可能原因有:
- POM错过了承载工件的声明。
- 您配置的存储库需要身份验证,Maven未能向服务器提供正确的凭据。在这个在这种情况下,确保你的
${user.home}/.m2/settings.xml
包含a<server>
声明,其<id>
与远端<id>
匹配要使用的存储库。更多详细信息,请参见Maven设置参考。- 所讨论的远程存储库使用SSL,并且运行Maven的JVM不信任服务器的证书。有一个通用的网络问题,阻止Maven访问任何远程存储库,例如缺少代理配置。
- 你已经配置Maven来执行严格的校验和验证,下载的文件被损坏了。
- Maven将文件保存到本地存储库失败,请参阅
LocalRepositoryNotAccessibleException
了解更多详细信息。
-U
命令行参数构建项目(mvn clean install -U
应该可以完成这个任务),或者手动清理本地存储库(在${user.home}/.m2/repository
目录中找到,然后触发构建)。