无法理解 Maven 依赖层次结构下的托管版本
Couldn't understand managed version under Maven dependency hierarchy
在我的 pom.xml 中,我有一个 SikuliX Jar,它对 jna-platform 具有传递依赖性。
如下图所示,版本 4.5.2 已覆盖版本 5.4.0。
但我不明白,这个版本是如何被覆盖的,因为我没有为 jna-platform 指定任何依赖项。我还验证了没有任何依赖项正在获取这个 jar。
请帮我理解为什么会这样。非常感谢任何详细的文件。
相关依赖:-
<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>
谢谢
由于您使用的是 spring 引导,如此处所建议的那样(这也是此行为的原因):
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>
在我的 pom.xml 中,我有一个 SikuliX Jar,它对 jna-platform 具有传递依赖性。
如下图所示,版本 4.5.2 已覆盖版本 5.4.0。
但我不明白,这个版本是如何被覆盖的,因为我没有为 jna-platform 指定任何依赖项。我还验证了没有任何依赖项正在获取这个 jar。
请帮我理解为什么会这样。非常感谢任何详细的文件。
相关依赖:-
<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>
谢谢
由于您使用的是 spring 引导,如此处所建议的那样(这也是此行为的原因):
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>