1

I have spring boot application previously I have used to in eclipse it works there, recently switched to IntelliJ, In IntelliJ application is not staring, here I am sharing logs while starting

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)

2019-09-20 13:34:56.609  INFO 30977 --- [  restartedMain] com.kn.Application                       : Starting Application on Dhanu-MAC.local with PID 30977 (/Applications/Data/RT/20190815_source_prod/2_etn_backend/target/classes started by dhanu in /Applications/Data/RT/20190815_source_prod/2_etn_backend)
2019-09-20 13:34:56.621  INFO 30977 --- [  restartedMain] com.kn.Application                       : The following profiles are active: dev
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/dhanu/.m2/repository/org/codehaus/groovy/groovy/2.4.13/groovy-2.4.13.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
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
2019-09-20 13:34:57.029  INFO 30977 --- [  restartedMain] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5083ace5: startup date [Fri Sep 20 13:34:57 IST 2019]; root of context hierarchy
2019-09-20 13:35:04.145  INFO 30977 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/api]    : Initializing Spring embedded WebApplicationContext
2019-09-20 13:35:04.146  INFO 30977 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 7117 ms
2019-09-20 13:35:04.798  INFO 30977 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2019-09-20 13:35:04.799  INFO 30977 --- [ost-startStop-1] .s.DelegatingFilterProxyRegistrationBean : Mapping filter: 'springSecurityFilterChain' to: [/*]
2019-09-20 13:35:04.801  INFO 30977 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'corsFilter' to: [/*]
2019-09-20 13:35:04.803  INFO 30977 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2019-09-20 13:35:05.107  INFO 30977 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-09-20 13:35:05.111  WARN 30977 --- [  restartedMain] com.zaxxer.hikari.util.DriverDataSource  : Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.
2019-09-20 13:35:06.701  INFO 30977 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2019-09-20 13:35:07.535  INFO 30977 --- [  restartedMain] liquibase.database.core.OracleDatabase   : Could not set remarks reporting on OracleDatabase: com.zaxxer.hikari.pool.HikariProxyConnection.setRemarksReporting(boolean)
2019-09-20 13:35:13.940  INFO 30977 --- [  restartedMain] l.lockservice.StandardLockService        : Successfully released change log lock
2019-09-20 13:35:14.303  INFO 30977 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2019-09-20 13:35:18.144  INFO 30977 --- [  restartedMain] o.h.h.i.QueryTranslatorFactoryInitiator  : HHH000397: Using ASTQueryTranslatorFactory
2019-09-20 13:35:18.282  INFO 30977 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-09-20 13:35:20.040  WARN 30977 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenProvider' defined in file [/Applications/Data/RT/20190815_source_prod/2_etn_backend/target/classes/com/kn/config/JwtTokenProvider.class]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement
2019-09-20 13:35:20.041  INFO 30977 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-09-20 13:35:20.045  INFO 30977 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-09-20 13:35:20.125  INFO 30977 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2019-09-20 13:35:20.131  INFO 30977 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]

Process finished with exit code 0

As I see in logs it's successfully connected with DB, but tomcat stopped without showing any reason

I have stuck here for a long while, can someone help in this?

Dhanu K
  • 11,288
  • 6
  • 24
  • 38
  • 1
    In the logs: "Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenProvider' defined in file [/Applications/Data/RT/20190815_source_prod/2_etn_backend/target/classes/com/kn/config/JwtTokenProvider.class]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement" – dj_frunza Sep 20 '19 at 08:24
  • what should I have to do for this? – Dhanu K Sep 20 '19 at 08:26
  • https://stackoverflow.com/questions/34413/why-am-i-getting-a-noclassdeffounderror-in-java – dj_frunza Sep 20 '19 at 08:27
  • I have that java file, in my codebase – Dhanu K Sep 20 '19 at 08:29
  • 1
    What java version are you using ? – Sachin Sep 20 '19 at 08:44
  • @Sachin my Java version is 10.0.2 – Dhanu K Sep 20 '19 at 08:51

1 Answers1

4

The nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement

the Question is answered here: How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9

in short: The required Dependency was removed from the JDK with the release of Java 9. If you start your application with a Java 8 JDK the dependency is provided and your application works. If you start your application with a Java 9 JDK or higher the dependency is no longer present and it fails to start.

The right solution to fix it would be to add the required dependencies to your project:

dependencies {
    // JAX-B dependencies for JDK 9+
    implementation "javax.xml.bind:jaxb-api:2.2.11"
    implementation "com.sun.xml.bind:jaxb-core:2.2.11"
    implementation "com.sun.xml.bind:jaxb-impl:2.2.11"
    implementation "javax.activation:activation:1.1.1"
}

Maven dependencies

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.11</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.2.11</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.11</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
Dhanu K
  • 11,288
  • 6
  • 24
  • 38
Simulant
  • 19,190
  • 8
  • 63
  • 98
  • 1
    Just an additional note, In Java 9 the module was deprecated for removal (https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html) and was removed completely in Java 11. I guess we could use the flag --add-modules=java.xml.bind can be used in In Java 9 and Java 10 to resolve. But the ideal way is to add the dependency as you have mentioned – Sachin Sep 20 '19 at 08:56
  • you are correct, this is also described in the linked answer. But it is not a future prove solution, that's why I omitted it. – Simulant Sep 20 '19 at 08:59
  • I am using maven, so I have added mentioned dependencies in maven, surprisingly it works, Thanks @Simulant – Dhanu K Sep 20 '19 at 09:00