现象:
正常运行及手动运行单元测试时,FileInputStream都能找到相对路径文件。(文件在与项目位于同一个父目录)但执行maven test的时候,就提示找不到这个文件。
String jtrServerCfgFilePath = "./cfgs/jtr-ts-s-cfg.xml";
new FileInputStream(jtrServerCfgFilePath)
解决办法:
修改pom文件,指定工作目录文章来源:https://www.toymoban.com/news/detail-736300.html
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--设置工作目录为项目基础目录的上级目录,以便顺利读取到相对路径文件-->
<workingDirectory>..</workingDirectory>
</configuration>
</plugin>
分析
不指定工作目录时,它可能发生变化,比如正常运行时工作目录为项目所在目录,而maven test时它就变成了项目目录本身,因为工作目录变了,所以相对路径文件也就找不到了。文章来源地址https://www.toymoban.com/news/detail-736300.html
到了这里,关于maven test new FileInputStream找不到文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!