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中配置了参数为什么不起做用的原因
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中配置了参数为什么不起做用的原因
相关文章推荐
- 再续java调用动态库so
- Java调用C/C++实现的DLL动态库——JNI
- JNA—JNI终结者,java调用dll、ocx、so最简单的方法
- Java调用C/C++实现的DLL动态库——JNI(转)
- java调用动态库(dll)的一些问题
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- 【JNI调用DLL动态库】Java使用JNI调用DLL动态链接库学习记录
- android java 调用 .so 动态库实例
- JNI-Java(Eclipse)调用dll/so
- Java调用本地库,如调用DLL或者SO,如:JNI, Jawin, Jacob,JNative,JNA
- java通过jni调用c编译的dll或so
- Java通过JNI调用DLL动态库
- Java调用dll动态库-笔记
- java调用dll或so动态库文件(c++/c)
- Java中调用dll动态库的简洁方法
- java中调用 dll 动态库的简洁方法 JNative
- java调用dll/so文件
- JNA—JNI终结者,java调用dll、ocx、so最简单的方法
- Java JNI 调用C/C++ 本地库(dll/so)
- java调用vs2013编写的dll动态库