为了账号安全,请及时绑定邮箱和手机立即绑定

春季应用程序在智能中运行工作,但java - jar没有

春季应用程序在智能中运行工作,但java - jar没有

Helenr 2022-09-28 09:44:07
我用mySQL数据库创建了宁静的春季应用程序。MyApp在智能中运行良好,我用智能中构建工件构建罐子。当我运行罐子(爪哇 - 罐子)时,我得到了错误。“不满意的依赖性”例外:创建名称为“组织弹簧框架”的 Bean 时出错,autoconfigure.orm.jpa.HibernateJpa 配置“:通过构造函数参数 0 表示的不满意依赖关系;嵌套异常是组织.springframework.beans.factory.Bean创建异常:创建名称为“数据源”的 Bean 时出错,该名称在类路径资源 [组织/弹簧框架/引导/自动配置/jdbc/数据源配置$Hikari.class]:通过工厂方法进行 Bean 实例化失败;嵌套的异常是 org.springframework.beans.BeanInstantiationException: 无法实例化 [com.zaxxer.hikari.HikariDataSource]:这是我的应用程序。属性spring.datasource.driverClassName=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/TestApp?useSSL=falsespring.datasource.username=rootspring.datasource.password=password这是我的绒球.xml<?xml version="1.0" encoding="UTF-8"?>http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0 网站示例 MyApp 1.0 快照罐
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

我的jar运行良好,在我选择手动配置数据库连接后


添加到应用程序类


@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

然后创建


@Configuration

@PropertySource({ "classpath:app.datasource.properties" })

class DatabaseConfig {

@Autowired

private Environment env;


@Bean

@Primary

public DataSource dataSource() {

    DriverManagerDataSource dataSource = new DriverManagerDataSource();

    dataSource.setDriverClassName(env.getProperty("app.datasource.driverClassName"));

    dataSource.setUrl(env.getProperty("app.datasource.url"));

    dataSource.setUsername(env.getProperty("app.datasource.username"));

    dataSource.setPassword(env.getProperty("app.datasource.password"));


    return dataSource;

}    

我不知道为什么我的罐子不能从春天获得自动配置,也许有人可以在下面的评论中解释


查看完整回答
反对 回复 2022-09-28
?
ITMISS

TA贡献1871条经验 获得超8个赞

这表明你的罐子里没有所有的依赖关系。您是否正在运行正确的jar - 您可能有多个 - 一个带有应用程序,一个来自不同目录的启动。很高兴看到您用于构建的命令。


查看完整回答
反对 回复 2022-09-28
  • 2 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信