【问题标题】:i am trying to create CRUD application using Spring + spring data JPA + Bootstrap but i am getting this error我正在尝试使用 Spring + spring data JPA + Bootstrap 创建 CRUD 应用程序,但出现此错误
【发布时间】:2018-11-17 00:34:52
【问题描述】:

--- exec-maven-plugin:1.2.1:exec (default-cli) @ BootSample ---

。 ____ _ __ _ _ /\ / ' __ _ ()_ __ __ _ \ \ \ \ ( ( )_ | '_ | '| | ' / ` | \ \ \ \ \/ )| |)| | | | | || (||))))) ' |____| .|| ||| |__, | / / / / =========|_|===============|___/=///_/ :: Spring Boot :: (v1.4.2.RELEASE)

2018-06-07 09:09:32.344 INFO 10208 --- [main] com.mycompany.bootsample.Application:在 LPTADO76 上使用 PID 10208 启动应用程序(由 D:\New folder\java\projects 中的 s2026045 启动\引导示例) 2018-06-07 09:09:32.344 INFO 10208 --- [main] com.mycompany.bootsample.Application:未设置活动配置文件,回退到默认配置文件:默认 2018-06-07 09:09:32.484 INFO 10208 --- [main] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@125dc0f:启动日期 [Thu Jun 07 09:09:32 GMT+02: 00 2018];上下文层次的根 2018-06-07 09:09:35.773 INFO 10208 --- [main] trationDelegate$BeanPostProcessorChecker:Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' 类型 [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB $$ef6327ab] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件) 2018-06-07 09:09:37.393 INFO 10208 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat 使用端口初始化:8080 (http) 2018-06-07 09:09:37.433 INFO 10208 --- [main] o.apache.catalina.core.StandardService:启动服务 Tomcat 2018-06-07 09:09:37.453 INFO 10208 --- [main] org.apache.catalina.core.StandardEngine:启动 Servlet 引擎:Apache Tomcat/8.5.6 2018-06-07 09:09:37.793 INFO 10208 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]:初始化 Spring 嵌入式 WebApplicationContext 2018-06-07 09:09:37.793 INFO 10208 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext:初始化在 5329 毫秒内完成 2018-06-07 09:09:38.093 INFO 10208 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean:映射 servlet:'dispatcherServlet' 到 [/] 2018-06-07 09:09:38.103 INFO 10208 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'characterEncodingFilter' 到:[/] 2018-06-07 09:09:38.103 INFO 10208 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter' 到:[/] 2018-06-07 09:09:38.103 INFO 10208 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:“httpPutFormContentFilter”到:[/] 2018-06-07 09:09:38.103 INFO 10208 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'requestContextFilter' 到:[/] 2018-06-07 09:09:38.233 WARN 10208 --- [main] ationConfigEmbeddedWebApplicationContext:在上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“org.springframework”的bean时出错。 boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':通过构造函数参数0表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class] 中定义名称为“dataSource”的 bean 创建时出错:通过工厂方法进行 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.apache.tomcat.jdbc.pool.DataSource]:工厂方法 'dataSource' 抛出异常;嵌套异常是 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:无法确定数据库类型 NONE 的嵌入式数据库驱动程序类。如果您想要一个嵌入式数据库,请在类路径中放置一个受支持的数据库。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有配置文件处于活动状态)。 2018-06-07 09:09:38.233 INFO 10208 --- [main] o.apache.catalina.core.StandardService:停止服务 Tomcat 2018-06-07 09:09:38.463 信息 10208 --- [主要] utoConfigurationReportLoggingInitializer:

启动 ApplicationContext 时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行您的应用程序。 2018-06-07 09:09:38.463 错误 10208 --- [主] o.s.b.d.LoggingFailureAnalysisReporter:


应用程序启动失败


说明:

无法确定数据库类型 NONE 的嵌入式数据库驱动程序类

行动:

如果您想要一个嵌入式数据库,请在类路径中放置一个受支持的数据库。如果您要从特定配置文件加载数据库设置,您可能需要激活它(当前没有配置文件处于活动状态)。


构建失败

总时间:12.621s 完成时间:星期四 6 月 07 日 09:09:38 GMT+02:00 2018

最终内存:9M/247M

未能在项目 BootSample 上执行目标 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli):命令执行失败。进程因错误退出:1(退出值:1)-> [Help 1]

要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。

有关错误和可能的解决方案的更多信息,请阅读以下文章: [求助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

这是我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>com.mycompany</groupId>
<artifactId>BootSample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>BootSample</name>

<properties>
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.2.RELEASE</version>
</parent>

<dependencies>

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!--sqlserver Connector -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>4.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <compilerArguments>
                    <endorseddirs>${endorsed.dir}</endorseddirs>
                </compilerArguments>
            </configuration>
        </plugin>

    </plugins>
</build>

这是我的 application.properties 文件

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

## Spring DATASOURCE (DataSourceAutoConfiguration DataSourceProperties)
spring.datasource.url = jdbc:sqlserver://localhost:8080;databaseName=User
spring.datasource.username = sa
spring.datasource.password = P@ssw0rd
spring.datasource.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver


## Hibernate Properties
# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.SQLServerDialect
logging.level.org.hibernate.SQL = debug

# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = create

【问题讨论】:

  • 分享你的 pom.xml 和 application.properties
  • 嗨 Yogesh Prajapati,我已经分享了 mypom.xml 和 application.properties

标签: hibernate jpa


【解决方案1】:

由于您在 pom.xml 中添加了 jpa/data starter,您应该提供任何数据源配置。

如果缺少配置,启动会报错。 示例:http://www.kode12.com/kode12/spring-boot/spring-boot-database-connectivity-mysql-web/

【讨论】:

  • 嗨 Yogesh Prajapati,我确实创建了 application.properties。让我用 pom 和我的 application.properties 文件更新问题。
【解决方案2】:

Spring Boot 为 H2、HSQL 和 Derby 等内存数据库提供了一些自动配置。只需将其中一个的构建依赖项添加到您的 pom 中,如果您想要一种快速启动和运行的方式,Spring Boot 将为您进行配置。

例如

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.197</version>
    <scope>test</scope>
</dependency>

更多信息可以在下面找到:

Embedded Database Support

【讨论】:

  • 嗨韦伯,我正在使用 sqlserver
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 2020-08-27
  • 2022-11-21
  • 1970-01-01
  • 2020-07-19
相关资源
最近更新 更多