zoukankan      html  css  js  c++  java
  • Python的JAVA胶水——jpype

    jpype模块,让我们可以调用java代码编译的jar包或者java语句

    如果用python脚本去执行java包,还是很使用和迅速的

    首先我们要有java 运行环境,我的系统是ubuntu16.04

    安装Java的最简单的选择是使用与Ubuntu一起打包的版本。 具体来说,这将安装OpenJDK 8,最新和推荐的版本。

    首先,更新包索引。

    sudo apt-get update

    接下来,安装Java。 具体来说,此命令将安装Java运行时环境(JRE)。

    sudo apt-get install default-jre

    还有另一个默认的Java安装,称为JDK(Java开发工具包)。 JDK通常只需要如果你要编译Java程序,或者如果使用Java的软件特别需要它。

    JDK确实包含JRE,因此如果安装JDK而不是JRE,除了较大的文件大小,则没有缺点。

    您可以使用以下命令安装JDK:

    sudo apt-get install default-jdk

    Python也要先安装好jpype 模块 

    sudo pip jpype1 #注意后面有一个1,参考官网

    举例子:

    import os
    from jpype import *
    host = "192.168.1.158"
    port = 9100
    # 获取jar包的路径
    jarpath=os.path.join(os.path.abspath("."),"tscsdk.jar")
    # getDefaultJVMPath()  --获取系统的jvm路径
    startJVM(getDefaultJVMPath(), "-ea","-Djava.class.path=%s" % jarpath)
    # 使用java字节码中定义的类
    FormatScript = JClass('com.example.tscdll.TscWifiActivity')
    # 实例化这个类
    t = FormatScript()
    # 调用类方法
    so = t()
    signature = so.openport(host, port)
    print(signature)
    # 关闭jvm
    shutdownJVM()

    项目目录:

    调用java语句:

    import jpype
    
    jvmPath = jpype.getDefaultJVMPath() # 获得系统的jvm路径
    jpype.startJVM(jvm=jvmPath) # 启动虚拟机
    # 执行JAVA代码
    jpype.java.lang.System.out.println("hello world")
    jpype.shutdownJVM() # 关闭jvm

    截图

    参考博文:

    https://www.cnblogs.com/fanghao/p/7745356.html

     

    https://blog.csdn.net/qq_42735170/article/details/81126713 

    https://blog.csdn.net/u014615615/article/details/83109654

  • 相关阅读:
    【阿里云产品评测】装甲兵在云路上!
    区间交集问题
    信封嵌套问题
    twoSum问题的核心思想
    队列实现栈|栈实现队列
    设计Twitter 时间线
    如何使用单调栈解题
    二叉堆详解实现优先级队列
    git/SQL/正则表达式的在线练习网站
    我的 Redis 被入侵了
  • 原文地址:https://www.cnblogs.com/zzy-9318/p/10316024.html
Copyright © 2011-2022 走看看