我正在使用maven exec插件来运行一个简单的java类。这个java类加载一个文本文件。按照maven方式,我的文本文件在里面:
src/main/resources
编译后,资源最终出现在:
target/classes
使用已编译的源代码。当我尝试跑步时:
maven exec:java
我明白了:
Caused by: java.io.FileNotFoundException: text.txt (The system cannot find the file specified)
如果我将text.txt放在$ {basedir}中,则此错误消失,但这不正确,因为它不遵循maven标准。有没有办法配置它?
答案 0 :(得分:3)
您应该将代码更改为read it from classpath as a Resource
instead of reading it as File
,maven会从${basedir}
(您的pom所在的位置)执行java
并且您的代码似乎试图查看当前目录,这就是它失败的原因