无法理解Maven依赖层次结构下的托管版本

问题描述 投票:0回答:1

在我的pom.xml中,我有一个SikuliX Jar,它对jna平台具有传递依赖。如下图所示,版本4.5.2已覆盖版本5.4.0。但我不明白,如何覆盖此版本,因为我尚未为jna平台指定任何依赖关系。我还验证了没有任何依赖项正在获取此jar。 enter image description here

[请帮助我理解为什么会这样。任何详细的文档,将不胜感激。

相关依赖项:-

    <dependency>
        <groupId>com.sikulix</groupId>
        <artifactId>sikulixapi</artifactId>
        <version>2.0.4</version>
        <exclusions>
            <exclusion>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

谢谢

java maven maven-2 dependency-management transitive-dependency
1个回答
0
投票

由于您使用的是Spring Boot,如此处建议(这也是这种行为的原因):

java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/SspiUtil$ManagedSecBufferDesc #882

您可以更改依赖关系的顺序,或指定确切的版本,例如:

<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.4.0</version>
</dependency>

或添加此属性:

<jna.version>5.4.0</jna.version>

© www.soinside.com 2019 - 2024. All rights reserved.