从Eclipse中的Maven项目中调用方法java

时间:2019-02-23 14:41:19

标签: java eclipse api package

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

bonita引擎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;
    }
}

激活引擎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方法!

1 个答案:

答案 0 :(得分:0)

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

  1. 右键单击(通用API)java project => Build path => Configure Build Path
  2. 点击“项目”标签
  3. 点击添加按钮
  4. 通过选中旁边的框来添加您的project1(bonita)
  5. 再次使用相同的方法添加project2(激活引擎)
  6. 单击“应用”,然后单击“确定”关闭对话框。
  7. 现在您的导入应该可以了。

编辑:

您还不清楚问题是哪个导入。要弄清问题的根源,需要更多信息。

关于导入错误,您可以Ctrl +单击有问题的导入。这将带您到找不到源页面和标记为附加源的按钮。单击按钮以搜索我怀疑是外部广口瓶的位置。