Jpype 的使用文档
1、首先要安装python的插件(window下的使用):
下载地址:http://download.csdn.net/detail/liuxingyu_21/7202195
Note:前提要配置好java环境(环境变量)
2、Python使用jpype:
a) 导入jpype
import jpype
b) 下面是一些操作(这个是调用java基本应用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from jpype import * import os def pjava(): print getDefaultJVMPath() #这个是java的默认路径 #启动虚拟机 if not isJVMStarted(): #判断java虚拟机是否启动 startJVM(getDefaultJVMPath()) #启动java pp = 'hello world' #调用java的类代码 keystore = JClass('java.lang.System') #调用java.System这个类 keystore.out.println(pp) #执行输出 ShutdownJVM() #关闭虚拟机 if __name__ == "__main__": pjava() |
3、启动 jvm
JPype 提供的 startJVM() 函数的作用是启动 JAVA 虚拟机,所以在后续的任何 JAVA 代码被调用前,必须先调用此方法启动 JAVA 虚拟机。
jpype.startJVM() 的定义
startJVM(jvm, *args) |
·
jpype.startJVM() 的参数
参数 1: jvm, 描述你系统中 jvm.dll 文件所在的路径,如“ C:\ProgramFiles\IBM\Java50\jre\bin\j9vm\jvm.dll ”。可以通过调用 jpype.getDefaultJVMPath() 得到默认的 JVM 路径。
参数 2: args, 为可选参数,会被 JPype 直接传递给 JVM 作为 Java 虚拟机的启动参数。此处适合所有合法的 JVM 启动参数,例如:
-agentlib:libname[=options] -classpath classpath -verbose -Xint |
4、 调用第三方 Java 扩展包示例 :
Java的示例文件(简单的代码示例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class Test {
public String getData(String key){ return key; }
public void printData(String key){ System.out.println(key); }
public static void main(String[] args){ System.out.println(1234);
} } |
Note:最好当前环境下编译(编译的class要与python文件同级目录)
Python文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/python #coding:utf-8 __author__ = 'quan' from jpype import * import os def javaSignature(): #导入jar的路径 path = 'Test.class' if os.path.exists(path): print path print getDefaultJVMPath() #启动虚拟机 if not isJVMStarted(): startJVM(getDefaultJVMPath(),'-Djava.classpath.path=%s'%(path,)) pp = 'hello world' #调用java的类代码 keystore = JClass('java.lang.System') keystore.out.println(pp) name = JClass("Test")() #调用java的类 mm = name.getData("hello world quan") #调用java的函数 print 'ttttttt',mm
if __name__ == "__main__": javaSignature() |
详情地址:http://blog.csdn.net/jobjava/article/details/7280798