马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小小小菜菜菜 于 2023-10-26 14:11 编辑
公司有个 java 的 spring 项目,使用 maven 打成 jar 包,使用 python 调用加载的时候提示找不到类,有过调用 spring 项目经验的大佬给看下什么问题?
此时当调用到 CryptUtil = jpype.JClass("com.finance.micro.api.util.CryptUtil") 这个加载类的时候就报错,
mport jpype
import os,json
path = r"D:\xx\xx\wjctest\wjctest.jar"
jar_path = os.path.join(os.path.abspath("."), path)
# 获取jvm.dll的文件路径
jvmPath = jpype.getDefaultJVMPath()
print("获取的jvm路径", jvmPath)
# 启动jvm
jpype.startJVM(jvmPath, "-Dfile.encoding=UTF8", "-ea", "-Djava.class.path=%s" % jar_path)
print("看到了")
# 加载java类(参数是java的长类名)
CryptUtil = jpype.JClass("com.finance.micro.api.util.CryptUtil")
ChannelLoginDTO = jpype.JClass("com.finance.micro.dto.ChannelLoginDTO")
privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEWcZjtjUF";
publicKey = "MIGfMA0GCSqGSIb3DQEBAQUJ1QIDAQAB";
instance = ChannelLoginDTO()
instance.setChannelCode("C20220928180834695958");
instance.setCustomerName("123");
instance.setPhone("18511552233");
instance.setCertNo("612823199203631536");
params = CryptUtil.buildRequest(json.loads(x), privateKey, publicKey)
print("打印的参数",params)
# 关闭jvm
jpype.shutdownJVM()
具体报错如下:
Traceback (most recent call last):
File "D:/microFinanceProject/qa-test/test.py", line 16, in <module>
CryptUtil = jpype.JClass("com.finance.micro.api.util.CryptUtil")
File "D:\Program Files\Anaconda3\lib\site-packages\jpype\_jclass.py", line 99, in __new__
return _jpype._getClass(jc)
TypeError: Class com.finance.micro.api.util.CryptUtil is not found |