java - 如何在java maven项目的基础级别上读取文本文件

标签 java maven

我想将文件读入位于 Maven 项目基础级别的字符串变量中。

enter image description here

在此示例中,我尝试读取“somerando.sql”文件。

我一直在尝试使用:

Path path = Paths.get("/myproj/somerando.sql");
String sql = new String(Files.readAllBytes(path));

但这并没有得到它。有没有办法可以从这里读取文件而不使用它在计算机上的绝对路径?

最佳答案

Maven 有一些约定,您应该尝试遵循它们。这些很有帮助。

此外,开发后,应用程序并不存在于 Maven 项目中,而是存在于组件(Jar/war 等)中。 因此,为了避免绝对路径,您应该将应用程序或测试所需的文件放置在匹配的类路径文件夹中。

如果您的文件用于测试,您可以将其移动到 Maven 保留的位置来满足此需求:yourMavenProject/src/test/resources

如果您的文件用于应用程序,您可以将其移动到 Maven 保留的位置来满足此需求:yourMavenProject/src/main/resources

现在您可以通过以下方式访问它:

Path path = Paths.get(YourClass.class.getResource("filter.xml").toURI());

关于java - 如何在java maven项目的基础级别上读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40361154/

相关文章:

java - Android 应用程序按后退按钮后不工作

java - JPA 在工作单元克隆中遇到 Null 或零主键

java - 如何从插件类路径( jetty :run)?)中删除 Maven 库(jsr250-api-1.0.jar)

spring - 启动时Tomcat超时(spring maven hibernate)

java - gRPC:创建阻塞或 future stub

java - G1 old generation committed 内存突然增加,Eden size 减少

java - 无法正确检测碰撞

maven - Liquibase - 生成脚本而不将变更集应用于数据库

java - Ambari Admin View 2.7.5.0.0 构建失败

java - 如何查找当前jar文件引用了哪个依赖项?