php 通过 java-bridge 调用 java 程序 错误处理(1)

<?php

class GantTest
{
    public function parseMSPJ($file_path)
    {
        // $file_path = $this->session->file_path;
        require_once 'http://localhost:8080/JavaBridgeTemplate721/java/Java.inc';
        $data = array();
        if (empty($file_path)) {
            return $data;
        }
        $mppRead = new Java('net.sf.mpxj.mpp.MPPReader');
        $Filecontent = $mppRead->read($file_path);
        // $Alltasks = $Filecontent->getAllTasks();
        $Alltasks = $Filecontent->getChildTasks();
        echo $Alltasks;
        $Tasks_size = java_values($Alltasks->size());

        // ID|任务名|开始时间|结束时间|完成百分比|资源|工期

        for ($i = 1; $i < $Tasks_size; $i++) {
            $res = $this->getResource($Alltasks[$i]);
            echo $res;
            if (empty($res)) {
                continue;
            }

            foreach ($res as $val) {
                $separator = '|';
                $string = $Alltasks[$i]->getUniqueID() . $separator . $Alltasks[$i]->getName() . $separator . $Alltasks[$i]->getStart() . $separator . $Alltasks[$i]->getFinish() . $separator . $Alltasks[$i]->getPercentageComplete() . $separator . $val . $separator . $Alltasks[$i]->getDuration();
                $data[] = explode('|', $string);
            }
        }
        return $data;
    }

    public function getResource($task)
    {
        $resource = $task->getResourceAssignments();
        $size = java_values($resource->size());
        $buf = '';
        for ($i = 0; $i < $size; $i++) {
            $buf[] = $resource[$i]->getResource()->getName();
        }
        return $buf;
    }
}

// 甘特图测试文件地址,注意只能是 mpp 文件
$file_path = "C:\sun.mpp";
$data = (new GantTest)->parseMSPJ($file_path);
echo $data;

1,若显示没有出现异常,则说明配置文件正确
2,若显示以下错误,说明读取的方法不存在,有两种可能性:
2.1,使用的 mpxj.jar 包过时了
2.2,mpxj.jar 下载过程中出现了错误,导致下载的包有欠缺
解决方案:去网站下载新的 jar 包即可
jar 包下载网站(https://mvnrepository.com/search?q=mpxj)
在这里插入图片描述

3,若出现以下错误,说明 Java 配置出现问题
解决方案:运行查看甘特图环境配置测试文件中的代码,查看 Java 的配置是否正确
着重注意 Java 的包存储库位置是否正确
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-77cfZRTk-1614651820181)(/uploads/python/images/m_bf6cb726092ba0b4dba6e69f7db27f01_r.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值