gpt4 book ai didi

java - Jpype 将参数传递给 Java

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:21 25 4
gpt4 key购买 nike

我有一个java程序员,有以下行

service.loadPropertiesForItems(Inbox, new PropertySet(ItemSchema.Subject, ItemSchema.Body));

程序从外部 jar 调用类和方法。

我想在 python 中编写等效的代码,它像我的 java 程序一样调用外部 jar。使用 Jpype 我实现了代码,但在以下行失败

service.loadPropertiesForItems(inbox, ewsPkg.PropertySet(ewsPkg.ItemSchema.Subject,   ewsPkg.ItemSchema.Body))

这里 PropertySet、ItemSchema 是我从外部 jar 使用的类。ItemSchema.Subject 和 ewsPkg.ItemSchema.Body 是类类型

运行代码时,我在上面提到的行上遇到以下错误 -

service.loadPropertiesForItems(inbox, ewsPkg.PropertySet(ewsPkg.ItemSchema.Subject, ewsPkg.ItemSchema.Body))
File "C:\Python27\lib\site-packages\jpype\_jclass.py", line 79, in _javaInit
self.__javaobject__ = self.__class__.__javaclass__.newClassInstance(*args)
RuntimeError: No matching overloads found. at src/native/common/jp_method.cpp:121

谢谢

最佳答案

根据马丁的建议 https://github.com/originell/jpype/issues/117

下面的代码运行良好

ItemSchema = ewsPkg.ItemSchema
PropertyDefinition = ewsPkg.PropertyDefinition
Subject = ItemSchema.Subject
Body = ItemSchema.Body

args = JArray(PropertyDefinition)([ItemSchema.Subject, Body])
PropertySet = ewsPkg.PropertySet(args)

关于java - Jpype 将参数传递给 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27819946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com