java - Eclipse Activiti 中的 BPMN 错误

标签 java eclipse activiti bpmn

我正在尝试使用 Activiti eclipse BPMN Designer 5.9 制作一个简单的 Hello world 应用程序。我在 eclipse 中创建了一个 activiti 项目,并将 check.bpmn 图添加到 src/main/resources 文件夹,将 .java 添加到 src/test/java ,将 activiti.cfg.xml 文件添加到 src/test/resources 文件夹。该应用程序只是假设向控制台显示警报“Hello”,但我似乎无法让它执行此操作。下面是我用来运行应用程序的所有文件。我不知道我错过了什么。我已经安装了 Activiti Eclipse BPMN 2.0 设计器。

更新:

我已经添加了jar文件 enter image description here

错误:

enter image description here POM.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.activiti.examples</groupId>
  <artifactId>activiti-examples</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>BPMN 2.0 with Activiti - Examples</name>
  <properties>
    <activiti-version>5.8</activiti-version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-engine</artifactId>
      <version>${activiti-version}</version>
    </dependency>
    <dependency>
      <groupId>org.activiti</groupId>
      <artifactId>activiti-spring</artifactId>
      <version>${activiti-version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy</artifactId>
      <version>1.7.5</version>
    </dependency>
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.2.132</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.1</version>
    </dependency>
  </dependencies>
     <repositories>
    <repository>
      <id>Activiti</id>
      <url>http://maven.alfresco.com/nexus/content/repositories/activiti</url>
       </repository>
     </repositories>
     <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
           <version>2.3.2</version>
        <configuration>
             <source>1.6</source>
             <target>1.6</target>
           </configuration>
         </plugin>
         <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
             <classpathContainers>
               <classpathContainer>org.eclipse.jdt.USER_LIBRARY/Activiti Designer Extensions</classpathContainer>
             </classpathContainers>
           </configuration>
         </plugin>
    </plugins>
     </build>
</project>

检查.bpmn:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="process1" name="process1">
    <startEvent id="startevent1" name="Start"></startEvent>
    <scriptTask id="scripttask1" name="Script Task" scriptFormat="javascript">
      <script><![CDATA[alert("hello");]]></script>
    </scriptTask>
    <sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="scripttask1"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow2" name="" sourceRef="scripttask1" targetRef="endevent1"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_process1">
    <bpmndi:BPMNPlane bpmnElement="process1" id="BPMNPlane_process1">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35" width="35" x="200" y="160"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="scripttask1" id="BPMNShape_scripttask1">
        <omgdc:Bounds height="55" width="105" x="280" y="150"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35" width="35" x="440" y="160"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="235" y="177"></omgdi:waypoint>
        <omgdi:waypoint x="280" y="177"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="385" y="177"></omgdi:waypoint>
        <omgdi:waypoint x="440" y="177"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

ProcessTestProcess1.java

package org.activiti.designer.test;

import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.Map;
import java.io.FileInputStream;

import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.test.ActivitiRule;
import org.junit.Rule;
import org.junit.Test;

public class ProcessTestProcess1 {

    private String filename = "C:\Users\User\workspace\Proj\src\main\resources\diagrams\Check.bpmn";

    @Rule
    public ActivitiRule activitiRule = new ActivitiRule();

    @Test
    public void startProcess() throws Exception {
        RepositoryService repositoryService = activitiRule.getRepositoryService();
        repositoryService.createDeployment().addInputStream("process1.bpmn20.xml",
                new FileInputStream(filename)).deploy();
        RuntimeService runtimeService = activitiRule.getRuntimeService();
        Map<String, Object> variableMap = new HashMap<String, Object>();
        variableMap.put("name", "Activiti");
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process1", variableMap);
        assertNotNull(processInstance.getId());
        System.out.println("id " + processInstance.getId() + " "
                + processInstance.getProcessDefinitionId());
    }
}

错误:

Description Resource    Path    Location    Type
The import org.activiti.engine cannot be resolved   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 9  Java Problem
The import org.activiti.engine cannot be resolved   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 10 Java Problem
The import org.activiti.engine cannot be resolved   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 11 Java Problem
The import org.activiti.engine cannot be resolved   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 12 Java Problem
The import org.activiti cannot be resolved  Main.java   /helloworld/src/main/java   line 1  Java Problem
The import org.activiti cannot be resolved  Main.java   /helloworld/src/main/java   line 2  Java Problem
The import org.activiti cannot be resolved  Main.java   /helloworld/src/main/java   line 3  Java Problem
RuntimeService cannot be resolved to a type ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 28 Java Problem
RepositoryService cannot be resolved to a type  ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 25 Java Problem
ProcessService cannot be resolved to a type Main.java   /helloworld/src/main/java   line 13 Java Problem
ProcessInstance cannot be resolved to a type    ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 31 Java Problem
ProcessEngine cannot be resolved to a type  Main.java   /helloworld/src/main/java   line 10 Java Problem
Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 18 Java Problem
DbProcessEngineBuilder cannot be resolved to a type Main.java   /helloworld/src/main/java   line 10 Java Problem
ActivitiRule cannot be resolved to a type   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 21 Java Problem
ActivitiRule cannot be resolved to a type   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 21 Java Problem
ActivitiRule cannot be resolved to a type   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 25 Java Problem
ActivitiRule cannot be resolved to a type   ProcessTestProcess1.java    /Proj/src/test/java/org/activiti/designer/test  line 28 Java Problem

最佳答案

错误

Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \ )

告诉您您的字符串无效。

private String filename = "C:\Users\User\workspace\Proj\src\main\resources\diagrams\Check.bpmn";

应该转义

private String filename = "C:\\Users\\User etc...";

关于java - Eclipse Activiti 中的 BPMN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38736235/

相关文章:

java - org.hibernate.criterion.Restrictions 的 MYSQL 表列名称中的下划线抛出异常

java - Eclipse工作区下的项目名称

eclipse - VS Code : How to set semantic syntax coloring like Eclipse does. 默认语法着色不这样做

database - Alfresco activiti 错误太长,类型字符不同(255)ACT_HI_TASKINST

java - 将信息发布到服务器并接收 XML

java - 唤醒锁只工作一次

c++ - 如何在 Eclipse 中使用 MinGW 编译 boost 线程?

grails - 如何在activiti中获取枚举值以及activiti中FormProperty的getType()的返回类型是什么?

activiti - 在 Activiti 中获取一个组的所有已认领和未认领的元素

java - java 7中抽象类需要实现整个接口(interface)吗?