您的位置:首页 > 编程语言 > Java开发

java调用动态库(.dll或.so)

2010-04-28 18:57 309 查看
直接通过main入口:

arguments设置:-Djava.library.path=动态库所在目录
在Linux上调.so文件:.so文件 必须命名为:libXXX.so,如:libJni.so
在Windows上调.dll文件:.dll文件 命名不要加lib,直接命名为:XXX.dll 如:Jni.dll

例:
动态库:libJniNassirDecrypt.so 或 JniNassirDecrypt.dll
java调用动态库代码:
String sharedLibraryPath = "JniNassirDecrypt";
 try {
  System.out.println(System.getProperty("java.library.path"));
  System.loadLibrary(sharedLibraryPath);
 } catch (Throwable t) {
  t.printStackTrace();
 }

 

Web application调用:

Tomcat配置

windows下:把dll直接放到tomcat/bin就行了(也可以是环境变量path的所设定的任何一个目录下)

 

 
linux: catalina.sh加入

# -----------------------------------------------------------------------------

# OS specific support.  $var _must_ be set to either true or false.

JAVA_OPTS='-Djava.library.path=/home/~~/tomcat/jni'

 

如果有多个参数要设置,只接用空格分开

如:(JAVA_OPTS='=-Xms64m -Xmx256m  -Djava.library.path=/home/~~/tomcat/jni' ),不要在catalina.sh写多个JAVA_OPTS,tomcat启动时只认最后一个,这也是有很多人在tomcat中配置了参数为什么不起做用的原因

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息