Spring Boot 不能加载 tcnative-2.dll 库

本文将介绍怎样解决 Spring Boot 在启动时抛出 “org.apache.tomcat.jni.LibraryNotFoundError: Can't load library: *\tcnative-2.dll”错误。

在使用SpringBoot3创建项目的过程中,将日志的级别调为debug,日志打印了 “org.apache.tomcat.jni.LibraryNotFoundError: Can't load library: *\tcnative-2.dll”错误。

2024-06-06T15:22:33.222+08:00 DEBUG 19352 --- [           main] o.a.catalina.core.AprLifecycleListener   : The Apache Tomcat Native library could not be found using names [tcnative-2, libtcnative-2, tcnative-1, libtcnative-1] on the java.library.path [E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;.]. The errors reported were [Can't load library: E:\code\IdeaProjects\lease\bin\tcnative-2.dll, Can't load library: E:\code\IdeaProjects\lease\bin\libtcnative-2.dll, Can't load library: E:\code\IdeaProjects\lease\bin\tcnative-1.dll, Can't load library: E:\code\IdeaProjects\lease\bin\libtcnative-1.dll, no tcnative-2 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no libtcnative-2 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no tcnative-1 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no libtcnative-1 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;.]

org.apache.tomcat.jni.LibraryNotFoundError: Can't load library: E:\code\IdeaProjects\lease\bin\tcnative-2.dll, Can't load library: E:\code\IdeaProjects\lease\bin\libtcnative-2.dll, Can't load library: E:\code\IdeaProjects\lease\bin\tcnative-1.dll, Can't load library: E:\code\IdeaProjects\lease\bin\libtcnative-1.dll, no tcnative-2 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no libtcnative-2 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no tcnative-1 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;., no libtcnative-1 in java.library.path: E:\SDK\Java\temurin\jdk-17.0.10+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;E:\Git\cmd;C:\Windows\system32;E:\SDK\Java\temurin\jdk-21.0.2+13\bin;C:\Windows;E:\apache\apache-maven-3.9.6\bin;E:\mysql\bin;E:\dotnet;E:\pnpm;E:\nvm;E:\nodejs;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;E:\platform-tools;C:\ProgramData\chocolatey\bin;D:\NetSarang\Xshell\;D:\NetSarang\Xftp\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;E:\TortoiseSVN\bin;D:\Snipaste;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\Docker\Docker\resources\bin;E:\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\zjw\AppData\Local\Programs\Ollama;E:\VSCode;C:\Program Files\WireGuard\;E:\Python\Python311;E:\Python\Python311\Scripts;E:\gradle\gradle-8.7\bin;E:\nvm;C:\Users\zjw\AppData\Local\JetBrains\Toolbox\scripts;;.
at org.apache.tomcat.jni.Library.<init>(Library.java:91) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.tomcat.jni.Library.initialize(Library.java:147) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:189) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:106) ~[tomcat-embed-core-10.1.24.jar:10.1.24]
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getDefaultServerLifecycleListeners(TomcatServletWebServerFactory.java:191) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.<init>(TomcatServletWebServerFactory.java:138) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedTomcat.tomcatServletWebServerFactory(ServletWebServerFactoryConfiguration.java:73) ~[spring-boot-autoconfigure-3.3.0.jar:3.3.0]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-6.1.8.jar:6.1.8]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getWebServerFactory(ServletWebServerApplicationContext.java:223) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:186) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618) ~[spring-context-6.1.8.jar:6.1.8]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) ~[spring-boot-3.3.0.jar:3.3.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) ~[spring-boot-3.3.0.jar:3.3.0]
at com.zjw.lease.AdminWebApplication.main(AdminWebApplication.java:17) ~[classes/:na]

为什么要去加载 tcnative-2.dll 库呢?

因为 Tomcat 中的 connector 为了提高性能,采用了加载与操作系统绑定(非跨平台)的本地库的方式,比如:Windows 系统中就是 .dll 动态链接库。

默认会去 Tomcat 的 bin 目录下去找,但是由于 Spring Boot 的 Tomcat 是嵌入式的,没有这些 .dll,所以需要自己去官网下载,并解压放到 C:\Windows\System32\ 目录下。

什么是 Tomcat Native?

Apache Tomcat Native Library 是与 Apache Tomcat 一起使用的可选组件,它允许 Tomcat 使用 Open SSL 作为 JSSE 的替代品来支持 TLS 连接。说白了,Tomcat Native 就是一套和操作系统紧密结合的库,不同类型的操作系统 Tomcat Native 就会不同,如:Windows 下就是动态链接库,Linux 系统就是 .so 库文件。使用 Tomcat Native 可以调用操作系统底层的能力,提升 Tomcat 的性能。

更多关于 Tomcat Native 的信息,请参考:https://tomcat.apache.org/native-doc/

下载 Tomcat Native

访问 https://archive.apache.org/dist/tomcat/tomcat-connectors/native/2.0.6/binaries/ 地址,下载 Tomcat Native,然后解压压缩包。将 tcnative-1.dll 和 openssl.exe 拷贝到 C:\Windows\System32\ 目录下。如下图:



原文:https://www.hxstrive.com/article/1201.htm

Spring Boot 不能加载 tcnative-2.dll 库(Can't load library: tcnative-2.dll)的更多相关文章

  1. spring boot启动加载项CommandLineRunner

    spring boot启动加载项CommandLineRunner 在使用SpringBoot构建项目时,我们通常有一些预先数据的加载.那么SpringBoot提供了一个简单的方式来实现–Comman ...

  2. 在Spring Boot中加载初始化数据

    文章目录 依赖条件 data.sql文件 schema.sql 文件 @sql注解 @SqlConfig 注解 在Spring Boot中加载初始化数据 在Spring Boot中,Spring Bo ...

  3. Spring boot 无法加载css样式,image解决办法

    Spring boot 无法加载css样式,image解决办法   最近在 给公司做一个系统,使用了springboot框架,同时也遇到了一些大坑 在网上找到了一个好看的模版的,(非前后端的分离)但是 ...

  4. Spring Boot 启动加载数据 CommandLineRunner

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来 ...

  5. 十三、 Spring Boot 启动加载数据 CommandLineRunner

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来 ...

  6. Spring Boot 配置加载顺序详解

    使用 Spring Boot 会涉及到各种各样的配置,如开发.测试.线上就至少 3 套配置信息了.Spring Boot 可以轻松的帮助我们使用相同的代码就能使开发.测试.线上环境使用不同的配置. 在 ...

  7. Spring boot 配置文件 加载顺序

    springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ – ...

  8. spring boot启动加载数据

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求.为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实 ...

  9. spring boot容器加载完后执行特定操作

    有时候我们需要在spring boot容器启动并加载完后,开一些线程或者一些程序来干某些事情.这时候我们需要配置ContextRefreshedEvent事件来实现我们要做的事情 1.Applicat ...

  10. 23. Spring Boot启动加载数据CommandLineRunner【从零开始学Spring Boot】

    转:http://blog.csdn.net/linxingliang/article/details/52069503 实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求 ...

随机推荐

  1. [ZJOI2015] 地震后的幻想乡积分题解

    题意: 给定一个无向图,边权为 \([0,1]\) 之间的随机变量.求图最小生成树最大边权的期望. \(n\le 10\). Soluion: Meatherm口诏:我都不知道这个东西怎么想出来的 针 ...

  2. FLink17--全窗口聚合方法1--ApplyWindowApp

    一.依赖 二.代码 package net.xdclass.class11; import java.util.List; import java.util.stream.Collectors; im ...

  3. MES生产制造管理系统-BI看板 MES大屏看板

    可视化看板最主要的目的是为了将生产状况透明化,让大家能够快速了解当前的生产状况以及进度,通过大数据汇总分析,为管理层做决策提供数据支撑,看板数据必须达到以下基本要求: 数据准确--真实反映生产情况 数 ...

  4. [CERC2014] Parades 题解

    感觉长脑子了. 考虑在路线两端点的 \(lca\) 计算贡献,那么线段可以分两类: \(u\) 为 \(v\) 祖先. \(u,v\) 互不为祖先. 设 \(dp_i\) 表示只考虑 \(i\) 子树 ...

  5. 『Python底层原理』--Python属性的工作原理

    Python中的属性操作(如获取.设置和删除属性)是我们日常编程中非常常见的操作. 但你有没有想过,当我们写下obj.attr或obj.attr = value时,Python 内部究竟发生了什么? ...

  6. SMOTE算法解决样本不平衡

    首先,看下Smote算法之前,我们先看下当正负样本不均衡的时候,我们通常用的方法: 抽样 常规的包含过抽样.欠抽样.组合抽样 过抽样:将样本较少的一类sample补齐 欠抽样:将样本较多的一类samp ...

  7. Typecho防黑安全加固-修改后台路径

    删除安装文件 成功安装后删除install.php文件.install/文件夹. 修改后台地址 把admin修改为黑客猜不到的名字,例如pipixia,防止黑客穷举密码. 修改admin文件夹名称 修 ...

  8. Shell - [11] 开源Apache Zookeeper集群启停脚本

    一.集群角色部署 当前有Zookeeper集群如下 主机名 ctos79-01 ctos79-02 ctos79-03 Zookeeper ○ ○ ○ 二.脚本使用 三.脚本内容 #!/bin/bas ...

  9. Linux系统下nginx的安装与卸载

    1.1 安装 准备依赖环境 1.安装 gcc 依赖库 yum install gcc-c++ 2.安装 PCRE pcre-devel 依赖库 yum install -y pcre pcre-dev ...

  10. CF2067D Object Identification

    CF2067D - Object Identification 题目大意 有一个对你公开的 \(x\) 数组和一个对你隐藏的 \(y\) 数组,保证没有任何两个相同的 \(\{x_i, y_i\}\) ...