Amazon web services AWS Beanstalk:无法确定嵌入式数据库驱动程序类
我有一个spring引导应用程序,它在我的本地实例上运行良好(通过Intellij),但在AWS BEanstalk上部署时,该应用程序抛出以下错误(很抱歉格式化。spring就是这样生成异常的):Amazon web services AWS Beanstalk:无法确定嵌入式数据库驱动程序类,amazon-web-services,spring-boot,amazon-elastic-beanstalk,amazon-dynamodb,Amazon Web Services,Spring Boot,Amazon Elastic Beanstalk,Amazon Dynamodb,我有一个spring引导应用程序,它在我的本地实例上运行良好(通过Intellij),但在AWS BEanstalk上部署时,该应用程序抛出以下错误(很抱歉格式化。spring就是这样生成异常的): org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfig”的bean时出错 持续时间$JdbcTempla
org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfig”的bean时出错
持续时间$JdbcTemplateConfiguration':自动连线依赖项的注入失败;嵌套的异常是org.springframework.beans.factory.BeanCreationExcept
ion:无法自动连线字段:private javax.sql.DataSource org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$JdbcTemplateConfigur
数据源;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建cla中定义的名为“dataSource”的bean时出错
ss路径资源[org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]:通过factor进行Bean实例化
y法失败;嵌套异常为org.springframework.beans.BeanInstantiationException:未能实例化[javax.sql.DataSource]:工厂方法
“dataSource”引发异常;嵌套的异常是org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:Cann
ot为数据库类型NONE确定嵌入式数据库驱动程序类。如果您想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果你
要从特定配置文件加载数据库设置,您可能需要激活它(配置文件“aws”当前处于活动状态)。
pom.xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.10.56</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.my.app.path.MyApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
应用程序aws.properties
spring.profiles.active=aws
dynamodb.tablename=my_dynamodb_table
spring.profiles.active=aws
该应用程序使用dynamodb中的表。这可能是因为我可能需要在AWS中设置允许beanstalk与dynamodb对话的权限吗?如果是这样,请让我知道怎么做
我的EC2实例是
tomcat8
类型。找到了关于我的问题的解决方案。请参见@user672009的答案
只需将此添加到您的pom中
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.156</version>
</dependency>
com.h2数据库
氢
1.3.156