Maven执行插件无法找到资源。

4
我将使用Maven exec插件来运行一个简单的Java类。这个Java类会加载一个文本文件。按照Maven的方式,我的文本文件在以下位置:
src/main/resources

编译后,资源最终存储在:
target/classes

使用编译后的源代码时,当我尝试运行时:

maven exec:java

I get:

Caused by: java.io.FileNotFoundException: text.txt (The system cannot find the file specified)

如果我将text.txt放在${basedir}中,这个错误就会消失,但这并不正确,因为它没有遵循maven标准。有没有一种方法可以进行配置?

1
你能展示一下你的pom文件吗?另外,能提供一下抛出错误的代码行以及一些上下文信息吗? - Daniel Kaplan
1个回答

3
你应该将代码更改为从类路径中读取资源,而不是作为文件读取,详见Resource。Maven在${basedir}(即pom所在的位置)下执行Java程序,而你的代码似乎试图查找当前目录,这就是为什么它失败的原因。

您提供的链接帮助我解决了问题,非常感谢。这解释了为什么有时会出现错误,而有时一切正常。 - amaurs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接