【问题标题】:error creating bean with name 'processName' defined in classpath [activiti.cfg.xml] ...No default constructor found在类路径 [activiti.cfg.xml] 中定义名称为“processName”的 bean 创建时出错 ...未找到默认构造函数
【发布时间】:2017-09-07 13:48:11
【问题描述】:

我正在尝试为 activiti 中的一个简单进程运行单元测试,但我不断收到异常。我已经搜索并相信问题出在 activiti.cfg.xml 文件本身,它需要一个构造函数,但它有一个属性。测试是自动生成的,activiti.cfg.xml 文件也是如此。所以我想知道我应该改变什么才能让它工作。

这是xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
        <property name="databaseSchemaUpdate" value="true"/>
    </bean>
</beans>

这是错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngineConfiguration' defined in class path resource [activiti.cfg.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration]: No default constructor found; nested exception is java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandler
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1228)

【问题讨论】:

  • 你会添加StandaloneInMemProcessEngineConfiguration类的来源吗?它有默认构造函数吗?
  • StandaloneInMemProcessEngineConfiguratio 类在 org.activiti.engine.impl.cfg 包中。这是代码
  • 包 org.activiti.engine.impl.cfg; /** */ 公共类 StandaloneInMemProcessEngineConfiguration 扩展 StandaloneProcessEngineConfiguration { public StandaloneInMemProcessEngineConfiguration() { this.databaseSchemaUpdate = DB_SCHEMA_UPDATE_CREATE_DROP; this.jdbcUrl = "jdbc:h2:mem:activiti"; } }
  • 您的主要例外是:java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandler 所以@Faron 的答案可能是正确的。

标签: java xml eclipse junit4 activiti


【解决方案1】:

您的类路径中缺少依赖项。检查您是否有可用的mybatis

【讨论】:

  • 我添加了依赖,现在我收到了这个错误:
  • org.activiti.engine.ActivitiException:构建 ibatis SqlSessionFactory 时出错:解析 SQL 映射器配置时出错。原因:org.apache.ibatis.builder.BuilderException:解析映射器 XML 时出错。原因:org.apache.ibatis.reflection.ReflectionException:类 org.activiti.engine.impl.persistence.entity.ExecutionEntity 中属性 processInstance 的非法重载 getter 方法类型不明确。这违反了 JavaBeans 规范,并可能导致不可预知的结果。
  • @thesivar 这是另一个错误,您需要接受 Faron 的帖子作为答案并针对您的新问题发布另一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 2021-06-28
  • 2023-04-01
  • 1970-01-01
  • 2019-07-02
  • 2021-10-13
  • 2018-12-27
相关资源
最近更新 更多