0

Getting this exception everything is intact as the older project is just working fine

06:55:22,607  INFO main Version logVersion:44 - HHH000412: Hibernate ORM core version 5.5.4.Final
06:55:22,611 DEBUG main Environment <clinit>:199 - HHH000206: hibernate.properties not found
06:55:22,802 DEBUG main LocalXmlResourceResolver resolveEntity:63 - Interpreting public/system identifier : [-//Hibernate/Hibernate Mapping DTD 3.0//EN] - [http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd]
06:55:22,803 DEBUG main LocalXmlResourceResolver resolveEntity:65 - Recognized hibernate-mapping identifier; attempting to resolve on classpath under org/hibernate/
06:55:22,831 DEBUG main MappingBinder doBind:50 - Performing JAXB binding of hbm.xml document : Origin(name=null,type=INPUT_STREAM)
06:55:22,985  WARN main ClassPathXmlApplicationContext refresh:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [com/uhg/iil/isbbatch/configs/CommonHibernateContext.xml]: Invocation of init method failed; nested exception is org.hibernate.boot.InvalidMappingException: Could not parse mapping document: null (INPUT_STREAM)
06:55:22,998 ERROR main IilFileRetrievalJob main:195 - Job is not able to load the configuration xml file org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [com/uhg/iil/isbbatch/configs/CommonHibernateContext.xml]: Invocation of init method failed; nested exception is org.hibernate.boot.InvalidMappingException: Could not parse mapping document: null (INPUT_STREAM)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:934)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)
    at com.uhg.iil.isbbatch.business.IilFileRetrievalJob.main(IilFileRetrievalJob.java:190)
Caused by: org.hibernate.boot.InvalidMappingException: Could not parse mapping document: null (INPUT_STREAM)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:46)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:38)
    at org.hibernate.boot.spi.XmlMappingBinderAccess.bind(XmlMappingBinderAccess.java:94)
    at org.hibernate.boot.MetadataSources.addInputStream(MetadataSources.java:430)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:495)
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:516)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
    ... 12 more
Caused by: org.hibernate.internal.util.config.ConfigurationException: Unable to build hbm.xml JAXBContext
    at org.hibernate.boot.jaxb.internal.MappingBinder.hbmJaxbContext(MappingBinder.java:76)
    at org.hibernate.boot.jaxb.internal.MappingBinder.doBind(MappingBinder.java:53)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.doBind(AbstractBinder.java:103)
    at org.hibernate.boot.jaxb.internal.AbstractBinder.bind(AbstractBinder.java:58)
    at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:43)
    ... 19 more
Caused by: javax.xml.bind.JAXBException
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:477)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599)
    at org.hibernate.boot.jaxb.internal.MappingBinder.hbmJaxbContext(MappingBinder.java:73)
    ... 23 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239)
    ... 27 more

Here is the commonHibernateContext.xml sessionFactory Bean we are making replica of the old project the same is working fine in eclipse having java 8 but in server it is java 17

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd">

    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="iilDataSource" />
        <property name="mappingLocations" >
            <list>
                <value>com\/uhg\/iil\/common\/configs\/CommonDBMapping.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        </props>
            <!--<value>
                <![CDATA[hibernate.show_sql=true    
                hibernate.format_sql=false]]>
            </value>
        --></property>
    </bean>

    <tx:annotation-driven/>

    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager" lazy-init="true">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

</beans>

DataSourceXML Where iilDataSource bean is defined

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

    <!-- Configurer that replaces ${...} placeholders with values from a properties file -->
    <bean id="dbPropertiesPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" > 
        <property name="location">
        <!--  <value>file:///${IIL_COMMON_PATH}/config/com/uhg/iil/common/configs/IIL-${IIL_ENVIRONMENT}-DBConfig.properties</value> -->
         <value>com/uhg/iil/common/configs/IIL-dev-DBConfig.properties</value>  
        </property> 
        <property name="ignoreUnresolvablePlaceholders" value="true" />
    </bean>

    <bean id="iilDataSource" class="com.uhg.iil.common.util.CustomDataSource"> <!--destroy-method="close"-->
        <property name="driverClassName" value="${DRIVER_CLASS_NAME}" />
        <property name="url" value="${URL}" />
        <property name="username" value="${USER_NAME}" />
        <property name="password" value="${PASSKEY}" />
    </bean>
    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" lazy-init="true">
        <property name="dataSource" ref="iilDataSource" />
        <property name="defaultTimeout" value="300" />
    </bean> 

</beans>
  • Look at https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception – Michael Katt Oct 03 '22 at 18:53

0 Answers0