博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
war包部署在tomcat下,使用windows service服务方式启动tomcat服务器,在包含调用dll的模块,报dll找不到问题的解决办法...
阅读量:5044 次
发布时间:2019-06-12

本文共 732 字,大约阅读时间需要 2 分钟。

问题描述:

开发了一个需要调用dll的java web程序,在idea开发环境下运行调试没问题,可以正常运行,在tomcat/bin下,运行批处理startup.bat,启动tomcat服务器,也可以正常运行。唯独在windows service方式下,使用启动服务的方式,运行tomcat/webapps/下的web程序,不需要调用dll的逻辑,运行正常,但是包含需要调用第三方dll的地方,就报错误,提示 在jre/bin的目录下找不到dll,明明dll就在这个目录下。这个问题困惑了好几天。

提前说明:配置了JAVA_HOME\JRE_HOME环境变量。

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131

JRE_HOME=C:\Program Files\Java\jdk1.8.0_131\jre

最终的解决办法:

说法一:把依赖的dll放在Tomcat安装目录的bin文件夹,与startup.bat处于同级目录下才可以加载dll成功。这是我最后采用的方式。也是唯一可以使用的方法。(

针对我的环境是这样,windows下是这样的,linux下,还没测试,网上说,Linux下,将文件放在 /user/local/bin 中,linux中jar依赖的是so文件)

 

在此鸣谢一下这几篇文章的作者

参考了很多文章,都不行:

1. 这篇文章直接解决了我的问题,把dll直接copy到tomcat/bin目录下,也就是tomcat运行的起始目录下。

2.,参见第五条。

3. (扩展视野,本次没起到什么用处)

 

转载于:https://www.cnblogs.com/wangqiideal/p/11246309.html

你可能感兴趣的文章
多线程之ReadWriteLock模拟缓存(九)
查看>>
工作碰到的非代码问题总结
查看>>
构造函数与析构函数
查看>>
GetCursorPos
查看>>
Web前端性能优化进阶——完结篇
查看>>
【转】Git 修改已提交的commit注释
查看>>
JAVA_IO
查看>>
(转)内核模块操作命令-lsmod+rmmod+modinfo+modprobe
查看>>
poj3984
查看>>
URAL 1099 Work scheduling 一般图的最大匹配 带花树算法(模板)
查看>>
高斯消元方程组
查看>>
centos:SSH登录时间很慢
查看>>
HTTP协议概述
查看>>
mysql删除主键
查看>>
总结一下web前端常用的各类网站(不全,后期有更新)
查看>>
mysql使用笔记
查看>>
chrome 调试
查看>>
Import .bak file to a database in SQL server
查看>>
HTTP协议基本知识
查看>>
Ruby入门——哈希表
查看>>