通用技术 jPype Python 调用 Jar 包中的函数方法遇到异常 无法处理,求帮忙解决

Benjamin · 2019年06月19日 · 最后由 Benjamin 回复于 2019年06月26日 · 2722 次阅读

Java 代码封装部分

import com.google.gson.Gson;

/**
 * Created by Benjamin on 2019/6/18.
 */
public class CreatJson {

    private String creatJson(){

        JsonInfo jsonInfo = new JsonInfo();
        jsonInfo.setState("0");

        jsonInfo.setDecrypteddata(DesInfo.getDecrypteddata());

        jsonInfo.setToken(DesInfo.getToken());
        jsonInfo.setData(DesInfo.getData());
        jsonInfo.setPrefix(DesInfo.getPrefix());
        jsonInfo.setSuffix(DesInfo.getSuffix());
        jsonInfo.setKey(DesInfo.getKey());

        Gson gson2=new Gson();
        String str=gson2.toJson(jsonInfo);
        return str;

    }

    // 加密
    public String encrypted(Integer num,String parameter){
        LDSDes.select(num);  // 设置秘钥 头、中、尾
        String data = LDSDes.RarString(parameter);  //字符串压缩
        String encrypted = LDSDes.encrypted(DesInfo.getKey(),data);  // 加密字符串
        String token = LDSDes.token(DesInfo.getPrefix(),encrypted,DesInfo.getSuffix());  // 获取token
        return creatJson();
    }

    // 解密
    public String decrypted(String data){
        String s= LDSDes.decrypted(data);
        if (s == null){
            String str = "Decryption failed,Not yet supported.";
            DesInfo.setData(str);
        }
        return creatJson();
    }


}

Python 无法调用 jar 包中的加密方法,其他两个可以成功调用
PS:实测 Java 调用该 Jar 无问题、Jmeter 调用也无问题

这个图的异常不用管,能调用设置对象属性有问题

2019-6-24 21:34:23
尝试性解决问题,但是问题还是没有得到很好解决

fuck..........................

附言 1  ·  2019年06月24日

JPype 为拓展部分,部分拓展功能宣告失败;

简单说一下本次拓展内容:
Java + Maven 封装为 jar 包,Jar 包提供功能:GUI 操作界面、Java -jar xxx.jar <参数 1> <参数 2>、Jar 包封装方法返回 JSON 供其他工具调用如:Java、Jmeter、Python 等其他可调用 Jar 方法的工具或语言。

最佳回复

int 和 integer 的数据结构是不一样的,需要先进行转化

select = jpype.java.lang.Integer(1)
共收到 6 条回复 时间 点赞

依然无解,,,

之前无聊试过,JPackage 调用静态方法,调用非静态用 JClass 就行了

膨化先生 回复

看代码是非静态方法;

尝试性调用静态方法,依旧报错误信息

Benjamin 回复

26 行
jx = JXClass()

int 和 integer 的数据结构是不一样的,需要先进行转化

select = jpype.java.lang.Integer(1)
a2021 回复

你好,该问题已解决,多谢

Benjamin 关闭了讨论 06月26日 21:54
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册