【问题标题】:spring-security-crypto jar is not getting updated in ./m2/repository/spring-security-crypto jar 未在 ./m2/repository/ 中更新
【发布时间】:2018-11-05 17:48:59
【问题描述】:

在我的项目 maven 文件中更改 Spring-security 版本时,从 3.1.0.RELEASE4.2.4.RELEASE,我的 './m2/repository/ ...' 似乎没有下载 spring-security-crypto.4.2.4.RELEASE jar。 虽然我在我的依赖项中声明了以下内容:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-crypto</artifactId>
    <version>4.2.4.RELEASE</version>
</dependency>

我使用了以下构建命令

mvn -U clean install

构建成功,但没有下载加密 jar。我该如何解决这个问题?

【问题讨论】:

    标签: spring spring-security


    【解决方案1】:

    如果 Maven 构建完成且没有任何错误,这意味着它刚刚被找到,但是您在错误的目录中查找。

    1. 可能您正在使用其他用户名,这就是“.m2”位于其他用户主文件夹中的原因。

    2. 可能你在 .m2/setting.xml 中指定了 Maven 存储库路径,而不是 .m2/repository。

    3. 可能是您在 .m2/repository 下的错误目录中查找。

    【讨论】:

    • 感谢您的建议!我的防火墙的问题,它阻止从互联网下载这个“加密”jar。但奇怪的是,我没有收到有关此下载失败的任何错误。我不确定这是否是因为我的代码中不需要这个 jar,尽管我在依赖项中提到了 (??)
    • 问题是 - 当我声明对 spring-security-web.3.1.0.RELEASE 的依赖时,它会下载安全 jar,以及 spring-security- crypto-3.1.0.RELEASE 自己。虽然,我没有声明对“spring-security-crypto”的依赖,但它仍然由“spring-security-web.3.1.0.RELEASE”下载。
    • 但是,当我将版本更改为 spring-security-web.4.2.4.RELEASE 时,它不会下载 spring-security-crypto。这是否意味着加密已经包含在 spring-security-web.4.2.4.RELEASE 版本中,因此它不会显式下载“加密”,这与它在 3.1.0.RELEASE 的情况下所做的相反?请提出建议。
    • 在 Spring 3 中有一个依赖 spring-security-web --> spring-security-core --> spring-security-crypto。在 Spring 4 中没有依赖 spring-security-core --> spring-security-crypto。这就是你不检索 spring-security-crypto 的原因。如果需要,只需将其添加到依赖项中即可。如果你需要一些库,定义这样的依赖 EXPLICITY。期望您需要的库将通过其他一些依赖项检索,这很容易出错。
    • 我已经明确定义了 spring-security-crypto 依赖:-
    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2014-12-29
    • 2019-09-08
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多