问题原因:
oshi 的版本和jna 的版本搭配不当导致,有些版本的jna 不存在 Memory.close()方法。
解决方案二:
升级oshi 版本到6.4.5
搭配jna 版本5.13.0
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jna.version>5.13.0</jna.version>
</properties>
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.4.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
/** Free the native memory and set peer to zero */
@Override
public void close() {
peer = 0;
if (cleanable != null) {
cleanable.clean();
}
}
解决方案二:
重写Util 类
参考:https://blog.csdn.net/weixin_44606996/article/details/127930767