[HTTP:101216]Servlet: "JMS Servlet" failed to preload on startup in Web application问题

本文介绍了解决Servlet在项目部署时加载失败的问题,提供了修改load-on-startup值、确保配置文件版本一致及正确放置jar包的方法。

解决方法一:
1. 修改<load-on-startup>的值为负数。
<load-on-startup>的意思是:如果其值为负整数或干脆没有在web.xml中提供该元素,则表示该servlet可以在任意时刻载入;如果为0或正整数,表示必须在项目部署之初即进行载入和初始化。(另外还有定义载入优先级别的用途。)
If the value is a negative integer, or the element is not present, the container is free to load the servlet whenever it chooses.  If the value is a positive integer or 0, the container must load and initialize the servlet as the application is deployed.

 

方法二:
1. web.xml或struts-config.xml文件的version原因。
格式应该与所使用的jar package版本一致。比如:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> 这里的2_3不能不一致成2_4;
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> 1_1不能是1_2;

2. 还有一种是jar package没有放对位置,打包后应该全部在wen-inf/lib下面有
3. 我再一次仔细看了出错信息error stack,并找来了ActionServlet类的源码(下载struts-all包),根据错误信息中提供的行数,不一会发现是系统中在载入hibernate.cfg.xml时出现问题,于是干脆重新覆盖。接着build,deploy,OK,问题解决。

在处理 **CUDA library preload failed** 警告时,通常与系统环境配置、CUDA驱动版本、库路径设置或CUDA工具包的完整性有关。以下是详细的解决步骤: ### 1. 检查 NVIDIA 驱动版本 确保系统中安装的 NVIDIA 驱动版本与所使用的 CUDA 工具包兼容。在 WSL2 中,应使用适用于 Windows 的最新驱动程序。可以通过 [NVIDIA 官方网站](https://www.nvidia.com/Download/index.aspx) 下载并安装最新驱动。 如果已经安装了驱动,可以通过以下命令检查驱动版本: ```bash nvidia-smi ``` 输出将显示当前驱动版本和支持的 CUDA 版本上限。如果版本过旧,更新驱动[^1]。 ### 2. 安装正确的 CUDA 工具包 在 WSL2 中,不能使用传统的 `.run` 文件安装 CUDA,而应使用 `deb (local)` 包进行安装。例如,安装 CUDA 11.1 的步骤如下: ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-wsl-ubuntu-11-1-local_11.1.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-1-local_11.1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-1-local/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda ``` 安装完成后,确保将 CUDA 的库路径添加到 `LD_LIBRARY_PATH` 中: ```bash export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH ``` ### 3. 验证 CUDA 安装 使用以下命令验证 CUDA 是否安装成功: ```bash nvcc --version ``` 如果显示正确的 CUDA 编译器版本,则说明安装成功。此时应不会再出现 **CUDA lib preload failed** 的警告。 ### 4. 检查库依赖和预加载配置 如果警告仍然存在,可能是由于某些库未正确加载或缺少依赖项。可以尝试使用 `ldconfig` 更新系统库缓存: ```bash sudo ldconfig ``` 还可以通过 `LD_DEBUG=libs` 来调试库加载过程: ```bash LD_DEBUG=libs your_cuda_application ``` 观察输出中是否有关于 CUDA 库加载失败的信息,并据此调整库路径或修复缺失的依赖。 ### 5. 安装额外的开发库 在某些情况下,可能需要安装额外的开发包以确保 CUDA 支持完整。例如: ```bash sudo apt-get install nvidia-current-dev ``` 这可以补充缺失的头文件和运行时库[^2]。 ### 6. 检查 Python 环境中的 CUDA 支持 如果使用 PyTorch 或 TensorFlow 等深度学习框架,确保安装的版本与 CUDA 兼容。例如,安装 PyTorch 1.8.0 与 CUDA 11.1 支持的版本: ```bash pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html ``` 确保 Python 环境中没有冲突的 CUDA 版本或库文件[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值