1.tomcat的插件,maven install可以把war项目打包;
如果是聚合工程,不要就,只需要打包war就行,剩下的项目打成jar包。 2.放在tomcat的webapp下面,然后,启动tomcat就行。 异常 如果dll文件调用异常 http://blog.csdn.net/zjutzmh/article/details/52069332 部署Tomcat时使用jni和jna调用DLL文件的问题我的前一篇博客提到,我们公司项目的restful框架中要用到底层的DLL C++库,最后经过测试验证结果选择采用JNA方法来调DLL库。之后基础框架在IDEA中的jetty服务中调试成功,但是在部署到Tomcat上时出现了无法加载DLL库的状况,只能现学现卖了。
一. 把DLL文件放在Tomcat下的方法:
这一部分摘自:http://blog.csdn.net/wjgnuc/article/details/16876329
在Tomcat中加载dll,供其它接口调用:
在Tomcat目录根下新建一个文件夹,这里就叫DLL吧,/DLL;
把需要用到的dll放入新建的DLL目录下;
编辑/conf/catalina.properties,在common.loader后面追加${catalina.home}/DLL;
编辑/bin/目录下的catalina.bat,在rem Copy CATALINA_BASE from CATALINA_HOME if not defined的段落中增加如下语句:
set LD_LIBRARY_PATH=�TALINA_BASE%\DLL
set JAVA_OPTS=-Djava.library.path=�TALINA_BASE%\DLL%JAVA_OPTS%
保存重新启动Tomcat,deploy war即可。
(在此感谢这位博主给了我很多启发)
二. 把DLL文件放在; line-height: 22.1px;">语句查看都有哪些系统调默认调用的文件路径。Tomcat会在这些目录下寻找要加载的文件、库等。
三. 在使用JNA调用DLL时,总是提示无法加载相应的库。把DLL文件放在各种路径下都不起作用。无奈之下,我换成JNI工具尝试了一下,结果提示Can't load IA 32-bit .dll on a AMD 64-bit platform。真相终于浮出了水面,原来是因为JDK和DLL系统不兼容(万万没想到问题出在这里),于是我把DLL重新编译成64位试了一下,成功部署。然后我又换成JNA工具后试了一下也成功部署(早该换成JNI试一下,就是因为JNI使用步骤过于繁琐,所以一直对JNA不死心,结果拖了很长时间),问题解决。
四.使用JNA的时候,大多数网上教程中Native.loadLibrary(“DLL name”, classname.class); 中的第一个参数都是相对路径。按照编程经验,这里应该也可以写成绝对路径,例如:
Native.loadLibrary(“C:\Program Files (x86)\Java\jdk1.8.0_51\bin\ DLLname.dll”, classname.class);
我这样试着跑了一下,证明我的猜想是正确的。
五. 把DLL放在Tomcat文件夹下的bin文件中也可以找到。Linux下放在 /user/local/bin 中。这是我最后采用的方式。
如果访问不到,静态资源被拦截了
server.xml需要看一下,是不是path配错了
path="/"再试一下