【问题标题】:UnsatisfiedDependencyException by Maven Packed war but not Intellij IDE why?UnsatisfiedDependencyException by Maven Packed war 但不是 Intellij IDE 为什么?
【发布时间】:2018-05-23 06:30:14
【问题描述】:

我在我的 springboot 项目中使用 Intellij IDE,在运行我的 spring boot 项目时它工作正常。但是当我使用 mvn 包创建战争并使用 java -jar project.war 运行时,它会抛出以下错误

警告

2018-05-23 11:05:08.635 警告 13025 --- [主要] ationConfigEmbeddedWebApplicationContext:遇到异常 在上下文初始化期间 - 取消刷新尝试: org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为 HibernateJpaAutoConfiguration' 的 bean 时出错: 通过构造函数参数 0 表示的不满足的依赖关系; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建在类路径资源中定义的名称为“dataSource”的bean [com/myproject/config/DefaultDataSource.class]:通过 Bean 实例化 工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [com.mchange.v2.c3p0.ComboPooledDataSource]:工厂方法 'dataSource' 抛出异常;嵌套异常是 java.lang.ExceptionInInitializerError

异常

启动 ApplicationContext 时出错。显示自动配置 报告启用“调试”后重新运行您的应用程序。 2018-05-23 11:05:10.854 错误 13025 --- [主要] os.boot.SpringApplication : 应用程序启动失败 org.springframework.beans.factory.UnsatisfiedDependencyException: 创建具有名称的 bean 时出错 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':通过构造函数参数0表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源 [com/myproject/config/DefaultDataSource.class] 中定义的名称为“dataSource”的 bean 时出错:通过工厂方法进行 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [com.mchange.v2.c3p0.ComboPooledDataSource]:工厂方法“dataSource”抛出异常;嵌套异常是 java.lang.ExceptionInInitializerError

代码

 @Configuration
    public class DefaultDataSource {
    @Autowired
    DataBaseCreds dataBaseCreds;
    @Bean
    @Primary
    public ComboPooledDataSource dataSource() {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        try {
            dataSource.setDriverClass(dataBaseCreds.getDB_DRIVER());
        } catch (PropertyVetoException e) {
        }
        dataSource.setJdbcUrl(dataBaseCreds.getDB_URL());
        dataSource.setUser(dataBaseCreds.getDB_USERNAME());
        dataSource.setPassword(dataBaseCreds.getDB_PASSWORD());
        dataSource.setMaxPoolSize(200);
        return dataSource;
    }

}

【问题讨论】:

  • 最好不要再嵌套ExceptionInInitializerError
  • 对不起,伙计们,我的错误有两个版本的 c3p0 库打包战争文件 /WEB-INF/lib 删除了一个类似魅力的作品 - 感谢阅读

标签: maven package war c3p0


【解决方案1】:

对不起,我的错误有两个版本的 c3p0 库打包战争文件 /WEB-INF/lib 删除了一个像魅力一样的作品 - 感谢阅读

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 2012-07-31
    • 2020-12-07
    相关资源
    最近更新 更多