maven解析dependecy但无法在其中找到包/类

Ale*_*aev 10 dependencies osgi maven

在自定义geotools平台编译(事实上基于OSGi)中,当我尝试构建它时,其中一个模块正确编译.但是当我构建整个项目时 - 它在compile舞台上失败了,因为它无法找到某些包/类.能够很好地解决依赖问题.

这是模块的pom.xml的依赖:

<dependency>
   <groupId>org.picocontainer</groupId>
   <artifactId>com.springsource.org.picocontainer</artifactId>
   <version>1.2.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

maven构建错误的一部分:

...\geotools-osgi\modules\extension\xsd\xsd -core\src\main\java\org\geotools\xs\bindings\XSGroupBinding.java:[19,24] package org.picocon tainer不存在

...\geotools-osgi\modules\extension\xsd\xsd -core\src\main\java\org\geotools\xml\AbstractComplexBinding.java:[20,24] package org.picocon tainer不存在

...\geotools-osgi\modules\extension\xsd\xsd -core\src\main\java\org\geotools\xml\ComplexBinding.java:[21,24] package org.picocontainer不存在

如果我改变pom.xml依赖 - 它失败了某种"无法解析捆绑".

该项目非常庞大,捆绑和儿童/父母的数量.所以我不能在这里发布所有这些内容.所以我的问题是:这种麻烦的可能原因是什么?这可能是父母/孩子之间的依赖冲突吗?

Sam*_*CHI 7

我可以看到两件事要试图解决它.

首先,如果你进入你当地的.m2仓库,你会看到是否有其他版本的lib(但是,有时不同的版本可以有不同的名称,因此存储在不同的文件夹中,这没有帮助)

您还可以在IDE或命令行(mvn dependency:tree)中检查所使用的ACTUAL依赖项.您可能必须排除某些传递依赖项以保持一致.我使用Eclipse插件.

最后,当您确定使用的依赖项时,可以打开jar并查看您希望存在的内容.


Ale*_*aev 2

嗯,实际原因是目标计算机对互联网的访问受到限制,因此对 Maven 存储库的访问也受到限制。使用一些黑魔法,它不会因某种“无法下载工件”而失败(可能是因为手动安装了一些 jar 文件)。所以我们得到了可以正常访问的服务器,将其设置为镜像,配置我们的maven使用镜像,这就解决了问题。感谢@Samuel 参与我的问题,但正如我所见,无法从问题描述中确定问题。