我最近在我的maven构建中遇到了一个问题,它为javamail-1.4.jar下载了一个jar文件,但事实证明该文件不是一个真正的jar文件,它实际上是一个html与获取正确jar的位置的链接。
似乎回购已经改变了。但是在我的maven环境中,一切都假设要进入我们的内部回购,我不知道这是怎么发生的。但无论如何,更重要的是,我如何解决这个问题,以便在全新安装时下载正确的jar文件?谢谢!
答案 0 :(得分:1)
您在设置settings.xml
之前下载了该jar以使用公司存储库〜或者〜公司存储库包含您拥有的版本。因此,首先检查内部存储库实际包含的内容(如果javamail工件不是预期的工件,则下载并将其安装在内部存储库中)。然后从本地存储库中删除工件以重新下载它。
更新:我的理解是你从log4j传递了这种依赖,所以你必须使用log4j 1.2.15。要解决此问题,请在内部存储库中安装缺少的依赖项,或者还原为log4j 1.2.14,或者从log4j 1.2.15中排除传递依赖项:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
</dependency>