JDK9不能进行junit4测试怎么办?

JDK9不能进行junit4测试怎么办?

报错:


Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

原因

简单来说,就是jdk9的模块化功能造成的,java.xml.bind其实是属于javaEE的模块,在jdk6/7/8版本中都方在了默认的path下面,但是到了jdk9,就把这些模块
都移出来了,就是没有放在默认的path下面,如果想要使用,那么你需要在运行时加上options,命令--add-modules java.xml.bind

解决方法

在pom.xml加入:

<dependencies>
    <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
    </dependency>
</dependencies>
<build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <argLine>--add-modules java.xml.bind</argLine>
                </configuration>
            </plugin>
        </plugins>
    </build>

参考文章

https://hacpai.com/article/1511838497949?p=1&m=0

猜你喜欢

转载自blog.csdn.net/zsyoung/article/details/79026751