0
votes

Im working on my first springboot application. I'm working with some book and I was doing everythink step by step and when I run the program it was few errors which I couldn't fix. Probably they're small but still I'm struggling to solve the problem, that's why I'm here.

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

ERROR:
2018-02-26 16:55:08.567 INFO 9756 --- [ main] c.e.webstoreapp.WebstoreappApplication : Starting WebstoreappApplication on eXovskyPC with PID 9756 (C:\Users\eXovsky\Desktop\Programming\Projekty\webstoreapp\target\classes started by eXovsky in C:\Users\eXovsky\Desktop\Programming\Projekty\webstoreapp)
2018-02-26 16:55:08.567 INFO 9756 --- [ main] c.e.webstoreapp.WebstoreappApplication : No active profile set, falling back to default profiles: default
2018-02-26 16:55:08.568 DEBUG 9756 --- [ main] o.s.boot.SpringApplication : Loading source class com.exovsky.webstoreapp.WebstoreappApplication
2018-02-26 16:55:08.594 DEBUG 9756 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Loaded config file 'file:/C:/Users/eXovsky/Desktop/Programming/Projekty/webstoreapp/target/classes/application.properties' (classpath:/application.properties)
2018-02-26 16:55:08.594 DEBUG 9756 --- [ main] o.s.b.c.c.ConfigFileApplicationListener : Skipped (empty) config file 'file:/C:/Users/eXovsky/Desktop/Programming/Projekty/webstoreapp/target/classes/application.properties' (classpath:/application.properties) for profile default
2018-02-26 16:55:08.598 INFO 9756 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6ce86ce1: startup date [Mon Feb 26 16:55:08 GMT 2018]; root of context hierarchy
2018-02-26 16:55:08.599 DEBUG 9756 --- [ main] ationConfigEmbeddedWebApplicationContext : Bean factory for org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6ce86ce1: org.springframework.beans.factory.support.DefaultListableBeanFactory@44e3a2b2: defining beans [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]; root of factory hierarchy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by 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) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2018-02-26 16:55:09.314 INFO 9756 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$e6b32090] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-02-26 16:55:09.333 DEBUG 9756 --- [ main] ationConfigEmbeddedWebApplicationContext : Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@2d0ecb24]
2018-02-26 16:55:09.333 DEBUG 9756 --- [ main] ationConfigEmbeddedWebApplicationContext : Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@4d654825]
2018-02-26 16:55:09.522 DEBUG 9756 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Code archive: 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 DEBUG 9756 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Code archive: 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 DEBUG 9756 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Document root: 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 initialized with port(s): 8080 (http)
2018-02-26 16:55:09.546 INFO 9756 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-02-26 16:55:09.546 INFO 9756 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.27
2018-02-26 16:55:09.591 INFO 9756 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-02-26 16:55:09.591 INFO 9756 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 997 ms
2018-02-26 16:55:09.633 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Added existing Servlet initializer bean 'dispatcherServletRegistration'; order=2147483647, resource=class path resource [org/springframework/boot/autoconfigure/web/DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'metricsFilter'; order=-2147483648, resource=class path resource [org/springframework/boot/actuate/autoconfigure/MetricFilterAutoConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'characterEncodingFilter'; order=-2147483648, resource=class path resource [org/springframework/boot/autoconfigure/web/HttpEncodingAutoConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'hiddenHttpMethodFilter'; order=-10000, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'httpPutFormContentFilter'; order=-9900, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'requestContextFilter'; order=-105, resource=class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'webRequestLoggingFilter'; order=2147483637, resource=class path resource [org/springframework/boot/actuate/autoconfigure/TraceWebFilterAutoConfiguration.class]
2018-02-26 16:55:09.706 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'applicationContextIdFilter'; order=2147483647, resource=class path resource [org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration$ApplicationContextFilterConfiguration.class]
2018-02-26 16:55:09.710 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2018-02-26 16:55:09.712 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'metricsFilter' to: [/]
2018-02-26 16:55:09.712 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/]
2018-02-26 16:55:09.712 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'webRequestLoggingFilter' to: [/]
2018-02-26 16:55:09.713 INFO 9756 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'applicationContextIdFilter' to: [/*]
2018-02-26 16:55:09.719 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter : Initializing filter 'requestContextFilter'
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedRequestContextFilter : Filter 'requestContextFilter' configured successfully
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.ApplicationContextHeaderFilter : Initializing filter 'applicationContextIdFilter'
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.ApplicationContextHeaderFilter : Filter 'applicationContextIdFilter' configured successfully
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter : Initializing filter 'httpPutFormContentFilter'
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] .s.b.w.f.OrderedHttpPutFormContentFilter : Filter 'httpPutFormContentFilter' configured successfully
2018-02-26 16:55:09.720 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter : Initializing filter 'hiddenHttpMethodFilter'
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedHiddenHttpMethodFilter : Filter 'hiddenHttpMethodFilter' configured successfully
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter : Initializing filter 'characterEncodingFilter'
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.w.f.OrderedCharacterEncodingFilter : Filter 'characterEncodingFilter' configured successfully
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.a.trace.WebRequestTraceFilter : Initializing filter 'webRequestLoggingFilter'
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.a.trace.WebRequestTraceFilter : Filter 'webRequestLoggingFilter' configured successfully
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.a.autoconfigure.MetricsFilter : Initializing filter 'metricsFilter'
2018-02-26 16:55:09.721 DEBUG 9756 --- [ost-startStop-1] o.s.b.a.autoconfigure.MetricsFilter : Filter 'metricsFilter' configured successfully
2018-02-26 16:55:09.728 WARN 9756 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'javax.sql.DataSource' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
2018-02-26 16:55:09.729 INFO 9756 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2018-02-26 16:55:09.737 DEBUG 9756 --- [ main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: unknown
2018-02-26 16:55:09.747 DEBUG 9756 --- [ main] utoConfigurationReportLoggingInitializer : enter code here
2018-02-26 16:55:09.818 ERROR 9756 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :

APPLICATION FAILED TO START

Description:

Parameter 0 of constructor in org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
- Bean method 'dataSource' not loaded because @ConditionalOnProperty (spring.datasource.jndi-name) did not find property 'jndi-name'
- Bean method 'dataSource' not loaded because @ConditionalOnBean (types: org.springframework.boot.jta.XADataSourceWrapper; SearchStrategy: all) did not find any beans
Action:

Consider revisiting the conditions above or defining a bean of type 'javax.sql.DataSource' in your configuration.

1
The error complains about a missing data source. Have you defined one? Why do you explicitly disable the DataSourceAutoConfiguration in your properties? - JB Nizet
@JB I disable the DataSourceAutoConfiguration in properties becaues I had other error: 2018-02-26 17:48:28.063 ERROR 3172 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ******** APPLICATION FAILED TO START ******** Description: Cannot determine embedded database driver class for database type NONE Action: If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active). Process finished with exit code 1 - Michael John Nowak
Well by disabling it, you only made things worse. Read the error message, read the documentation, and fix the problem. You need to choose which database you want to use, make sure the JDBC driver is in the classpath, and define a DataSource if needed. - JB Nizet
Ok, thanks for your help. Im very new with Spring Boot and Im feeling like Im not to sure what I'm doing. - Michael John Nowak

1 Answers

0
votes

You need a dependency on spring-jdbc for an embedded database to be auto-configured as described here

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