java - Camunda:不能施放(同一类)

标签 java maven camunda

我在我的 maven 项目中包含了一个 .jar,在 pom.xml 中编写了这个:

<dependencies>
    <dependency>
        <groupId>org.loopingdoge.acme.model</groupId>
        <artifactId>acme-model</artifactId>
        <version>1.0.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/acme-model.jar</systemPath>
    </dependency>
</dependencies>

acme-model.jar 包含 org.loopingdoge.acme.model.House 但是这个 cast

public class HouseAdder implements JavaDelegate {

    public void execute(DelegateExecution delegateExecution) throws Exception {
        House house = (House) delegateExecution.getVariable("house");
    }
}

在 Wildfly 服务器上部署时出现此错误:

18:50:20,255 ERROR [org.camunda.bpm.engine.context] (default task-45) ENGINE-16004 Exception while closing command context: org.loopingdoge.acme.model.House cannot be cast to org.loopingdoge.acme.model.House: java.lang.ClassCastException: org.loopingdoge.acme.model.House cannot be cast to org.loopingdoge.acme.model.House at org.loopingdoge.acme.services.HouseAdder.execute(HouseAdder.java:13)

最佳答案

当一个类将通过不同的类加载器加载时,就会发生这种情况。即使包和类名相同,java 也会使它们不同。

您需要找出加载此类的方式。第一步,找到包含该类的 jar 。

or/and read this on SO

关于java - Camunda:不能施放(同一类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45825044/

相关文章:

java - 检查字符串时出现 NoSuchElementException

java - Jersey 应用程序中的千分尺普罗米修斯指标(非 Spring )

java - Spring JDBC : unable to get dataSource

java - 删除 ListView 页脚单击监听器

java - 重写 AbstractTableModel 中的 "getValueAt"将 Map 绑定(bind)到 JTable

java - Hadoop Library导入但无法在File System中设置 "get"方法

maven - 如何将 tycho p2 存储库构建的结果部署到本地文件系统或本地维护的 p2 存储库上的某个位置

rule-engine - 我们如何为 Camunda DMN 配置数据源

tomcat - 如何以编程方式更新camunda tomcat中的DMN规则

java - Camunda 用户任务执行失败