python Web开发02

2023-11-30 19:08:40 浏览数 (2)

pip 导出安装包

使用如下命令 将当前python 环境下的全部第三方包 导出为 txt 文件 pip freeze > requirements.txt 使用如下命令将 txt 文件中的第三方包 pip install -r requirements.txt

jpype 调用 jar 包

环境:python 3.6.8 jpype1 0.6.3 jdk 1.8

代码语言:javascript复制
"""
        基本的开发流程如下:
        ①、使用jpype开启jvm
        ②、加载java类
        ③、调用java方法
        ④、关闭jvm(不是真正意义上的关闭,卸载之前加载的类)
"""
# ①、使用jpype开启虚拟机(在开启jvm之前要加载类路径)
# 加载刚才打包的jar文件
path = r"C:UsersAdministratorDesktopmy_flodersoftware_matchsoftware_datajwtdemo-with-dependencies.jar"
jarpath = os.path.join(os.path.abspath('views'), path)
# 获取jvm.dll 的文件路径
jvmPath = jpype.getDefaultJVMPath()
# jvmPath = 'C:/Program Files/Java/jdk1.8.0_291/jre/bin/server/jvm.dll'
# 开启jvm
jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % (jarpath))
# ②、加载java类(参数是java的长类名)
javaClass = jpype.JClass("com.it.zty.JwtUtils")
# 实例化java对象
# javaInstance = javaClass()
# ③、调用java方法,由于我写的是静态方法,直接使用类名就可以调用方法
user_id = javaClass.getUserId(token)
# ④、关闭jvm
jpype.shutdownJVM()

注意的是:python 的位数 和 jdk 的位数一定要保持相同,否则会抛出 Process finished with exit code -1073741819 (0xC0000005) 的错误。

0 人点赞