【问题标题】:Java webapp, springboot errorJava webapp,springboot错误
【发布时间】:2018-08-06 05:19:12
【问题描述】:

我正在开发我的第一个 springboot 应用程序。我正在写一本书,我一步一步地做每件事,当我运行程序时,几乎没有我无法修复的错误。可能它们很小,但我仍在努力解决问题,这就是我在这里的原因。

WebstoreappApplication:

package com.exovsky.webstoreapp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class WebstoreappApplication {

    public static void main(String[] args) {
        SpringApplication.run(WebstoreappApplication.class, args);
    }

}

HomeController:

package com.exovsky.webstoreapp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {

    @RequestMapping("/")
    public String welcome(Model model) {
        model.addAttribute("greeting", "Witaj w sklepie internetowym!");
        model.addAttribute("tagline", "Wyjątkowym i jedynym sklepie 
internetowym");
        return "welcome";
    }

}

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.exovsky</groupId>
    <artifactId>webstoreapp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>webstoreapp</name>
    <description>webapp project in springboot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</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>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.properties:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

错误:
2018-02-26 16:55:08.567 INFO 9756 --- [main] cewebstoreapp.WebstoreappApplication:在 PID 9756 的 eXovskyPC 上启动 WebstoreappApplication(C:\Users\eXovsky\Desktop\Programming\Projekty\webstoreapp\target\classes 已启动通过 eXovsky 在 C:\Users\eXovsky\Desktop\Programming\Projekty\webstoreapp)
2018-02-26 16:55:08.567 INFO 9756 --- [main] c.e.webstoreapp.WebstoreappApplication:没有活动配置文件集,回退到默认配置文件:默认
2018-02-26 16:55:08.568 调试 9756 --- [main] os.boot.SpringApplication:加载源类 com.exovsky.webstoreapp.WebstoreappApplication
2018-02-26 16:55:08.594 DEBUG 9756 --- [main] osbccConfigFileApplicationListener:加载配置文件'file:/C:/Users/eXovsky/Desktop/Programming/Projekty/webstoreapp/target/classes/application.properties '(类路径:/application.properties)
2018-02-26 16:55:08.594 DEBUG 9756 --- [main] osbccConfigFileApplicationListener:跳过(空)配置文件'file:/C:/Users/eXovsky/Desktop/Programming/Projekty/webstoreapp/target/classes/配置文件默认的 application.properties' (classpath:/application.properties)
2018-02-26 16:55:08.598 INFO 9756 --- [main] ationConfigEmbeddedWebApplicationContext:刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6ce86ce1:启动日期 [2018 年 2 月 26 日星期一 16:55:08 GMT];上下文层次结构的根
2018-02-26 16:55:08.599 调试 9756 --- [main] ationConfigEmbeddedWebApplicationContext:org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6ce86ce1 的 Bean 工厂:org.springframework.beans.factory.support.DefaultListableBeanFactory@44e3a2b2 :定义bean [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context。 annotation.internalPersistenceAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,webstoreappApplication];工厂层次结构的根
警告:发生了非法反射访问操作
警告:org.springframework.cglib.core.ReflectUtils$1 的非法反射访问(file:/C:/Users/eXovsky/.m2/repository/org/springframework/spring-core/4.3.14.RELEASE/spring-core- 4.3.14.RELEASE.jar) 到方法 java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
警告:请考虑将此报告给 org.springframework.cglib.core.ReflectUtils$1
的维护者 警告:使用 --illegal-access=warn 启用对进一步非法反射访问操作的警告
警告:所有非法访问操作将在未来版本中被拒绝
2018-02-26 16:55:09.314 INFO 9756 --- [main] trationDelegate$BeanPostProcessorChecker:[org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$ 类型的 Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' $e6b32090] 不符合被所有 BeanPostProcessor 处理的条件(例如:不符合自动代理的条件)
2018-02-26 16:55:09.333 调试 9756 --- [main] ationConfigEmbeddedWebApplicationContext:无法找到名为“messageSource”的 MessageSource:使用默认值 [org.springframework.context.support.DelegatingMessageSource@2d0ecb24]
2018-02-26 16:55:09.333 调试 9756 --- [main] ationConfigEmbeddedWebApplicationContext:无法找到名为“applicationEventMulticaster”的 ApplicationEventMulticaster:使用默认 [org.springframework.context.event.SimpleApplicationEventMulticaster@4d654825]
2018-02-26 16:55:09.522 调试 9756 --- [main] .t.TomcatEmbeddedServletContainerFactory:代码存档:C:\Users\eXovsky.m2\repository\org\springframework\boot\spring-boot\1.5.10 .RELEASE\spring-boot-1.5.10.RELEASE.jar
2018-02-26 16:55:09.522 调试 9756 --- [main] .t.TomcatEmbeddedServletContainerFactory:代码存档:C:\Users\eXovsky.m2\repository\org\springframework\boot\spring-boot\1.5.10 .RELEASE\spring-boot-1.5.10.RELEASE.jar
2018-02-26 16:55:09.523 调试 9756 --- [main] .t.TomcatEmbeddedServletContainerFactory:文档根目录:C:\Users\eXovsky\Desktop\Programming\Projekty\webstoreapp\src\main\webapp
2018-02-26 16:55:09.540 INFO 9756 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer:Tomcat 使用端口初始化:8080 (http)
2018-02-26 16:55:09.546 INFO 9756 --- [main] o.apache.catalina.core.StandardService:启动服务 [Tomcat]
2018-02-26 16:55:09.546 INFO 9756 --- [main] org.apache.catalina.core.StandardEngine:启动 Servlet 引擎:Apache Tomcat/8.5.27
2018-02-26 16:55:09.591 INFO 9756 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]:初始化 Spring 嵌入式 WebApplicationContext
2018-02-26 16:55:09.591 INFO 9756 --- [ost-startStop-1] os.web.context.ContextLoader:根 WebApplicationContext:初始化在 997 毫秒内完成
2018-02-26 16:55:09.633 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:添加了现有的 Servlet 初始化程序 bean 'dispatcherServletRegistration'; order=2147483647,资源=类路径资源 [org/springframework/boot/autoconfigure/web/DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'metricsFilter' 创建了过滤器初始化程序; order=-2147483648,resource=类路径资源[org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'characterEncodingFilter' 创建了过滤器初始化程序; order=-2147483648,resource=类路径资源[org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'hiddenHttpMethodFilter' 创建了过滤器初始化程序; order=-10000,资源=类路径资源[org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'httpPutFormContentFilter' 创建了过滤器初始化程序; order=-9900,资源=类路径资源[org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'requestContextFilter' 创建了过滤器初始化程序; order=-105,资源=类路径资源[org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'webRequestLoggingFilter' 创建了过滤器初始化程序; order=2147483637,资源=类路径资源 [org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.class]
2018-02-26 16:55:09.706 调试 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans:为 bean 'applicationContextIdFilter' 创建了过滤器初始化程序; order=2147483647,资源=类路径资源 [org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration$ApplicationContextFilterConfiguration.class]
2018-02-26 16:55:09.710 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean:映射 servlet:'dispatcherServlet' 到 [/]
2018-02-26 16:55:09.712 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:“metricsFilter”到:[/]
2018-02-26 16:55:09.712 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'characterEncodingFilter' 到:[/]
2018-02-26 16:55:09.712 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter' 到:[/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:“httpPutFormContentFilter”到:[/]
2018-02-26 16:55:09.713 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'requestContextFilter' 到:[/]
2018-02-26 16:55:09.713 信息 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'webRequestLoggingFilter' 到:[/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean:映射过滤器:'applicationContextIdFilter' 到:[/*]
2018-02-26 16:55:09.719 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter:初始化过滤器“requestContextFilter”
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter:过滤器“requestContextFilter”配置成功
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] o.s.b.w.f.ApplicationContextHeaderFilter:初始化过滤器“applicationContextIdFilter”
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] o.s.b.w.f.ApplicationContextHeaderFilter:过滤器“applicationContextIdFilter”配置成功
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter:初始化过滤器“httpPutFormContentFilter”
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter:过滤器“httpPutFormContentFilter”配置成功
2018-02-26 16:55:09.720 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter:初始化过滤器“hiddenHttpMethodFilter”
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter:过滤器“hiddenHttpMethodFilter”配置成功
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter:初始化过滤器“characterEncodingFilter”
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter:过滤器“characterEncodingFilter”配置成功
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.a.trace.WebRequestTraceFilter:初始化过滤器“webRequestLoggingFilter”
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.a.trace.WebRequestTraceFilter:过滤器“webRequestLoggingFilter”配置成功
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.a.autoconfigure.MetricsFilter:初始化过滤器“metricsFilter”
2018-02-26 16:55:09.721 调试 9756 --- [ost-startStop-1] o.s.b.a.autoconfigure.MetricsFilter:过滤器“metricsFilter”配置成功
2018-02-26 16:55:09.728 WARN 9756 --- [main] ationConfigEmbeddedWebApplicationContext:在上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“org.springframework”的 bean 时出错。 boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':通过构造函数参数0表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“javax.sql.DataSource”类型的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖项注释:{}
2018-02-26 16:55:09.729 INFO 9756 --- [main] o.apache.catalina.core.StandardService:停止服务 [Tomcat]
2018-02-26 16:55:09.737 调试 9756 --- [main] .b.l.ClasspathLoggingApplicationListener:应用程序无法使用类路径启动:未知
2018-02-26 16:55:09.747 调试 9756 --- [main] utoConfigurationReportLoggingInitializer:在此处输入代码
2018-02-26 16:55:09.818 错误 9756 --- [主] o.s.b.d.LoggingFailureAnalysisReporter:

应用程序启动失败

说明:

org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration 中构造函数的参数 0 需要一个无法找到的“javax.sql.DataSource”类型的 bean。
- 未加载 Bean 方法“dataSource”,因为 @ConditionalOnProperty (spring.datasource.jndi-name) 未找到属性“jndi-name”
- 未加载 Bean 方法“dataSource”,因为 @ConditionalOnBean(类型:org.springframework.boot.jta.XADataSourceWrapper;SearchStrategy:all)没有找到任何 bean
行动:

考虑重新审视上述条件或在配置中定义“javax.sql.DataSource”类型的 bean。

【问题讨论】:

  • 该错误抱怨缺少数据源。你定义了一个吗?为什么要在属性中明确禁用 DataSourceAutoConfiguration?
  • @JB 我在属性中禁用 DataSourceAutoConfiguration 因为我有其他错误:2018-02-26 17:48:28.063 ERROR 3172 --- [main] osbdLoggingFailureAnalysisReporter:******* * 应用程序启动失败 ******** 描述:无法确定数据库类型为 NONE 的嵌入式数据库驱动程序类 操作:如果您想要一个嵌入式数据库,请在类路径中放置一个受支持的数据库。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有配置文件处于活动状态)。进程以退出代码 1 结束
  • 好吧,禁用它只会让事情变得更糟。阅读错误消息,阅读文档并解决问题。您需要选择要使用的数据库,确保 JDBC 驱动程序位于类路径中,并在需要时定义 DataSource。
  • 好的,感谢您的帮助。我对 Spring Boot 很陌生,我觉得我不确定自己在做什么。

标签: java spring-boot


【解决方案1】:

您需要依赖 spring-jdbc 来自动配置嵌入式数据库,如 here 所述

 <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.13.RELEASE</version>
    <type>jar</type>
</dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多