zoukankan      html  css  js  c++  java
  • Python 调用java接口

    转载来源:https://www.cnblogs.com/mumuli/p/5806963.html  并在此基础上做更详细的说明

    python 调用java的接口,具体实现步骤:

    前提下载好JPyte1包,命令: pip install JPype1   #官网地址的下载地址
    提前创建好PythonDiaoJava.py文件  
    
    
    1.在py的当前路径下 创建com文件夹
    2.在com文件夹下面 新建Test.jar文件  并输入测试代码,如下:
    package com;
    public class Test {
        public String run(String str){
            return str;
        }
    }
    3.在./com的文件夹下 执行javac Test.jar
        脚本説明:
        javac:是编译命令,将java源文件编译成.class字节码文件。将生成Test.class文件。
         java:是运行字节码文件-Test.class;由java虚拟机对字节码进行解释和运行。
              例如:java Test
    4.在com的上级目录下(即py代码所在的路径)执行 jar cvf test.jar com
        参数说明:利用com目录创建test.jar包,并显示创建过程
            -c  创建一个jar包
            -f 指定jar包的文件名
            -v  生成详细的报造,并输出至标准设备
    5.在PythonDiaoJava.py文件中输入以下代码:
    import jpype
    import os
    print(os.path.abspath('.'))
    jarpath = os.path.join(os.path.abspath('.'), 'test.jar') #test.jar的路径 不确定的话,打印下。 踩过坑 在test.jar前面多加了\导致报错 不需要加\,会自动拼接的
    print(jarpath)
    jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % jarpath)
    Test = jpype.JClass('com.Test')
    # 或者通过JPackage引用Test类
    # com = jpype.JPackage('com')
    # Test = com.Test
    t = Test()
    res = t.run("hello world")
    print (res)
    jpype.shutdownJVM()
    6.执行成功

     7.思考:

    python 如何通过http的request 方式调用java 接口?
    (1).rest 服务
    (2).将java 代码部署到容器中,通过http的方式调用
    以上(1)和(2) 都暂未实践
  • 相关阅读:
    很特别的一个动态规划入门教程
    很特别的一个动态规划入门教程
    很特别的一个动态规划入门教程
    很特别的一个动态规划入门教程
    57.深度优先搜索 广搜练习:迷宫(未结题)
    UPC10525: Dove 打扑克
    UPC10532: 花
    UPC10544: 凉宫春日的叹息
    UPC3459: 移除字符
    UPC3457: Next K Permutation
  • 原文地址:https://www.cnblogs.com/eosclover/p/14085220.html
Copyright © 2011-2022 走看看