【问题标题】:call method java from a maven project in eclipse从eclipse中的maven项目调用方法java
【发布时间】:2019-07-17 11:19:32
【问题描述】:

我有两个 maven 项目“Bonita-engine”和“activity-engine”。这些项目是两个BPM引擎的代码源。我的项目是寻找这两个引擎代码源的通用方法。所以我创建了一个API Java来调用这个Java方法。 由于这些方法在不同的项目上,我不能调用这个方法。事实上,我将这两个项目添加到我的 API Java 库中,但它不起作用。

从bonita-engine maven项目调用getDescription()方法

 * Copyright (C) 2015 BonitaSoft S.A.

package org.bonitasoft.engine.bpm.process.impl.internal;

import java.util.Date;

import org.bonitasoft.engine.bpm.internal.NamedElementImpl;
import org.bonitasoft.engine.bpm.process.ProcessInstance;

/**
 * @author Baptiste Mesta
 * @author Matthieu Chaffotte
 * @author Celine Souchet
 */
public class ProcessInstanceImpl extends NamedElementImpl implements ProcessInstance {

@Override
    public String getDescription() {
        return description;
    }
}

从activiti-engine maven项目调用getDescription()方法

    package org.activiti.engine.impl.persistence.entity;

    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import org.activiti.engine.ProcessEngineConfiguration;
    import org.activiti.engine.impl.bpmn.data.IOSpecification;
    import org.activiti.engine.impl.context.Context;

    public class ProcessDefinitionEntityImpl extends AbstractEntity implements ProcessDefinitionEntity, Serializable {

 public ProcessInstanceImpl(final String name) {
        super(name);
    }

    public String getDescription() {
        return description;
      }
    }

API JAVA:从两个maven项目中调用通用方法

import org.activiti.bpmn.model.*;
import org.bonitasoft.engine.bpm.process.impl.internal.* ;
import org.bonitasoft.engine.bpm.*;
import java.util.*;
import java.util.Date;
import org.bonitasoft.engine.bpm.internal.*;
import org.bonitasoft.engine.bpm.process.* ;
public class apicommon {

    public  activitiProcess = new ProcessDefinitionEntityImpl() ;
    public String name;
    public  bonitaProcess = new ProcessInstanceImpl(name) ;
public enum bpm {
    activiti , bonita

}
    bpm chose ;


     public apicommon() {

     }
public String getProcessDescription() {
         if(chose==bpm.activiti){
               return  activitiProcess.getDescription() ;
           }else if(chose==bpm.bonita){
            return   bonitaProcess.getDescription();
           } 
        }

我导入包“org.bonitasoft.engine.bpm.process.impl.internal”和包“org.activiti.engine.impl.persistence.entity”,但我无法访问 ProcessInstanceImpl 方法和 ProcessDefinitionEntityImpl 方法!

【问题讨论】:

    标签: java eclipse api package


    【解决方案1】:

    @sara,你必须将这两个项目添加到 API java(api common) 的构建路径中。

    1. 右键(api common)java project => Build path => Configure Build Path
    2. 点击项目标签
    3. 点击添加按钮
    4. 通过选中旁边的框添加您的项目 1 (bonita)
    5. 再次添加 project2 (activiti-engine) 使用相同的方法
    6. 单击应用和确定关闭对话框。
    7. 现在您的导入应该可以正常工作了。

    编辑:

    您还不清楚哪个导入是问题所在。需要更多信息才能找到问题的根源。

    关于导入错误,您可以 Ctrl + 单击有问题的导入。这会将您带到一个页面Source Not Found和一个标有Attach Source的按钮。单击按钮搜索我怀疑是外部 jar 的位置。

    【讨论】:

    • 对于导入包我有这个错误“注意:这个元素既没有附加源也没有附加Javadoc,因此找不到Javadoc。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多