使用Pyjnius 从python调用自定义Java方法
来源:互联网 发布:知其所以然的意思 编辑:程序博客网 时间:2024/04/30 01:16
目前从Python调用Java代码大致有3种方式</span>
经过对比,选择Pyjnius方式。
1. 安装Cython.
可以选择pip安装,也可以源码安装。Windows安装很坑爹,需要安装mingw gcc,还需要改些文件,不建议使用,直接装linux吧
到 http://cython.org/下载最新的Cython,解压缩进入主目录后,python setup.py install
2. 安装Pyjnius
到https://github.com/kivy/pyjnius/ 下载pyjnius, 解压缩后进入主目录, python setup.py install
3. 使用Pyjnius
http://pyjnius.readthedocs.org/en/latest/api.html#jvm-options-and-the-class-path
这一段讲的很清楚,要想使用自定义的class/jar文件必须修改 CLASSPATH环境变量,否则会报错 (File "jnius_export_func.pxi", line 23, in jnius.find_javaclass (jnius/jnius.c:13457)),
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">那么有下面几种方法</span>
1.将.class文件打包成jar,然后将CLASSPATH指定jar的路径
2.将.class文件路径指向CLASSPATH
3.通过jnius.config修改CLASSPATH
'''@author: aaron'''import os#1. os.environ['CLASSPATH'] = '/home/aaron/workspace/javatest.jar'#2. os.environ['CLASSPATH'] = '/home/aaron/workspace/JavaTest/bin'import jnius_config#3. jnius_config.set_classpath('.','/home/aaron/workspace/JavaTest/bin')from jnius import autoclassJavaTest = autoclass('com.aaron.JavaTest')
<span style="font-family: Arial, Helvetica, sans-serif;">javatest = JavaTest()</span>
javatest.hi()Stack = autoclass('java.util.Stack')stack = Stack()stack.push('hello')stack.push('world')print stack.pop()
Reference:
- http://www.hackzine.org/using-apache-tika-from-python-with-jnius.html
- https://hahamo.wordpress.com/2014/06/24/pyja-calling-java-from-python-part-2/
0 0
- 使用Pyjnius 从python调用自定义Java方法
- 使用Pyjnius 从python调用自定义Java方法
- 在Python中调用Java方法 Pyjnius
- python调用java基于pyjnius的封装
- 关于解决Python使用pip安装pyjnius时的问题(windows平台)
- java调用python方法
- java调用python脚本方法
- java调用Python的方法
- java调用python方法总结
- java调用python方法总结
- java调用python方法总结
- Java 调用python的方法
- java 调用 python(使用jpython)
- Java使用Jpython调用Python
- 使用python调用java-jpype
- 使用updatePanel从服务器调用方法
- JAVA MSG自定义函数调用方法:
- Freemark自定义标签,调用java静态方法
- 常用网站
- 适配器详解
- JAVA -- Exception 类型
- 编写语法分析程序
- 第三章 30题
- 使用Pyjnius 从python调用自定义Java方法
- 谷歌国内镜像地址
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- 时间格式转换 从CString到SYSTEMTIME,再转换到time_t,以求得时间差
- 太“长”竟然也是一种折磨
- Android/java 利用HttpUrlConnection 发送put请求,携带json参数
- Android错误:java.lang.ExceptionInInitializerError,java.lang.UnsatisfiedLink
- [SQL SERVER] 跨服务器查询
- 黄金交易大赛 2015-06-12