问答详情
源自:2-7 单元测试

GirlServiceTest运行报错

Assert.assertEquals(new Integer(13), age);//这句话的Integer中间有个横线,好像是不能用的意思

报错是报下面的错

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

2018-05-28 10:44:04.649 ERROR 1572 --- [           main] o.s.boot.SpringApplication               : Application run failed


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException


提问者:牙膏牙膏牙膏 2018-05-28 11:48

个回答

  • 武陵捕鱼人
    2018-06-24 16:24:24
    已采纳

    如果是java 8及以下jdk版本,在maven中添加dom4j的依赖即可,如下:

    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.0</version>
    </dependency>

    如果是java se 9(即jdk 9)及以上版本,需要在maven中同时添加以下几个依赖:

    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.6</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
    </dependency>

    我使用的是jdk 10,当时测试也遇到此问题,自己根据提示添加了dom4j的依赖,但是还是同样抛出该异常,后找寻答案发现是因为在java易主后,java se 9以后的版本不在支持jaxb-api导致,需要单独添加jaxb的支持。

  • qq_深巷_5
    2018-05-28 17:00:20

    你可以看一下你的实体类中的这个age是什么类型的,是不是写错了。