Python 引用Java 的方法
2017-12-14 14:52
204 查看
1、python 需要安装对应版本的 JPype、numpy包 pip install E:\JPype1-0.6.2-cp27-cp27m-win32.whl
该网站下载http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm 所需要的第三方包
2、java jar包
package test;
public class JpypeDemo
{
public String sayHello(String user)
{
return "hello" + user;
}
public int calc(int a, int b) {
return a + b;
}
}
3、TestJarToPython.py
#!C:/Python27
#coding=utf-8
from jpype import *
import jpype,os
def OpenJVM(jarpath):
print u"Jar 路径地址:",jarpath
print jpype.getDefaultJVMPath()#打印本机jvm 的路径地址
startJVM(getDefaultJVMPath(), "-Djava.class.path=%s" % jarpath)
print u"JVM开启状态:",jpype.isJVMStarted()
def CloseJVM():
shutdownJVM()
def GetJavaMethod():
JDClass = JClass("test.JpypeDemo")
jd = JDClass()
strr = jd.sayHello(" Anni")
print strr
cc = jd.calc(2,4)
print cc
#Jar 包路径
jarpath = os.path.join(os.path.abspath('.'), 'E:\pythonScript\Script\jpypedemo.jar')
#开启Java 虚拟机
OpenJVM(jarpath)
#调用Java 类方法
GetJavaMethod()
#关闭Java 虚拟机
CloseJVM()
该网站下载http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm 所需要的第三方包
2、java jar包
package test;
public class JpypeDemo
{
public String sayHello(String user)
{
return "hello" + user;
}
public int calc(int a, int b) {
return a + b;
}
}
3、TestJarToPython.py
#!C:/Python27
#coding=utf-8
from jpype import *
import jpype,os
def OpenJVM(jarpath):
print u"Jar 路径地址:",jarpath
print jpype.getDefaultJVMPath()#打印本机jvm 的路径地址
startJVM(getDefaultJVMPath(), "-Djava.class.path=%s" % jarpath)
print u"JVM开启状态:",jpype.isJVMStarted()
def CloseJVM():
shutdownJVM()
def GetJavaMethod():
JDClass = JClass("test.JpypeDemo")
jd = JDClass()
strr = jd.sayHello(" Anni")
print strr
cc = jd.calc(2,4)
print cc
#Jar 包路径
jarpath = os.path.join(os.path.abspath('.'), 'E:\pythonScript\Script\jpypedemo.jar')
#开启Java 虚拟机
OpenJVM(jarpath)
#调用Java 类方法
GetJavaMethod()
#关闭Java 虚拟机
CloseJVM()
相关文章推荐
- java方法调用时,是传值还是传引用?(转)
- java序列化的引用问题以及将transitent的序列化方法
- Java方法强制传递引用参数(做为返回值),改变被传递参数值。
- 从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
- 在Java中方法参数的传递,对象是传递引用
- JAVA WebService注册中心JUDDI使用方法(引用)
- java方法参数传值传引用的一点看法
- 本地方法处理java数组/引用问题/缓存jfieldID/jmethodID
- Java引用POI实现Word转Html方法
- Java方法传值和传引用
- python,java和php派生类调用父类方法说明
- Android在XML文件中或者java程序中引用资源的方法
- Get方法中不要返回可变对象的引用 【Java2核心技术第一卷 读书笔记】
- java 中值传递与引用传递以及方法中别名的问题
- java方法参数传值传引用的一点看法
- java和python常用方法对比
- Python类属性和类方法的一些差别(与C++和Java相比)
- Java.内部类方法对外部类对象的引用x-this.x-Test.this.x
- 引用Hibernate的Java桌面程序打包方法
- java方法传值和传引用