【发布时间】:2020-09-24 09:16:25
【问题描述】:
我正在尝试学习 Spring 和 Maven,但遇到了一些麻烦。
当我使用mvn clean install 从终端运行我的测试时,我收到了这个错误:java.lang.IllegalArgumentException: URI is not hierarchy。这是引发错误的代码块:
LocationWeatherRootResponseTest.class.getClassLoader().getResource("extent.xml")).toURI()
当我将上面的代码更改为以下时,我得到一个空指针异常。
LocationWeatherRootResponseTest.class.getClassLoader().getResourceAsStream("extent.xml")))
更新
当我将代码更改为以下时,我收到了一个新错误。
File file = new File(WeatherTest.class.getClassLoader().getResource("extent.xml").getPath());
Reporter.loadXMLConfig(file);
堆栈跟踪:
java.io.FileNotFoundException: file:/home/user/IdeaProjects/spring-cucumber-test-harness/common/target/common-1.0-SNAPSHOT.jar!/extent.xml (No such file or directory)
【问题讨论】:
-
是的,我尝试过 .toExternalForm() 和 FileLocator.toFileURL 但这些方法都不起作用
-
我运行了以下 sn-p 并通过了。
import org.junit.jupiter.api.Test; import java.net.URISyntaxException; import java.util.Objects; public class MyTest { @Test void test() throws URISyntaxException { Objects.requireNonNull(MyTest.class.getClassLoader().getResource("extent.xml")).toURI(); } } -
您是否尝试使用 mvn clean install 运行它 - 这对我来说是失败的,我可以右键单击并成功运行它。它只有在 Maven 中才会失败
-
使用 mvn clean install 也可以。