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)
php 通过 java-bridge 调用 java 程序 错误处理(1)

3,若出现以下错误,说明 Java 配置出现问题
解决方案:运行查看甘特图环境配置测试文件中的代码,查看 Java 的配置是否正确
着重注意 Java 的包存储库位置是否正确
php 通过 java-bridge 调用 java 程序 错误处理(1)

上一篇:docker网络


下一篇:作为Java开发者,docker网络配置编辑bridge