当前位置: 首页 > 知识库问答 >
问题:

在Maven项目中放置静态文件的位置

管杜吟
2023-03-14

我创建了一个简单的Maven项目,没有原型,一切都很好。然后我添加了一个CVA。主/资源目录下的pmml文件。之后,我想读取该文件,但得到了FileNotFoundException。我尝试了以下方法:

方法一:

InputStream is = BundleTest.class.getResourceAsStream("CVA.pmml");

方法二:

InputStream is = BundleTest.class.getResourceAsStream("resources/CVA.pmml");

方法3:

InputStream is = new FileInputStream("CVA.pmml");

方法四:

InputStream is = new FileInputStream("resources/CVA.pmml");

它们都不起作用。有什么建议吗?

以下是项目结构的屏幕截图:

共有2个答案

卢晟
2023-03-14

在resources文件夹中创建一个名为static的文件夹,并将文件放在那里。然后像这样访问它“/CVA.pmml”

孟豪
2023-03-14

方法一:

InputStream is = BundleTest.class.getResourceAsStream("CVA.pmml");

这将寻找CVA。pmml资源与BundleTest类位于同一个包中。但是CVA。pmml在根包中,而BundleTest不在根包中。

方法二:

InputStream is = BundleTest.class.getResourceAsStream("resources/CVA.pmml");

这将在BundleTest类包下的resources包中查找它。但它在根包中。

方法3:

InputStream is = new FileInputStream("CVA.pmml");

这将在文件系统中查看它,在执行java命令的目录中。但它在类路径中,嵌入在jar中(或类路径目录中)

方法四:

InputStream is = new FileInputStream("resources/CVA.pmml");

这将在文件系统中,在“resources”目录中,在执行java命令的目录下查看它。但它在类路径中,嵌入在jar中(或类路径目录中)

正确的方法是

InputStream is = BundleTest.class.getResourceAsStream("/CVA.pmml");

(注意正斜杠)

InputStream is = BundleTest.class.getClassLoader().getResourceAsStream("CVA.pmml");
 类似资料:
  • 问题内容: 我有一个文本文件想要包含在我的Android应用程序中,它不是字符串文件,而是标准文本文件。它包含定义在板上绘制的“地图”的特征的数据。该文件不是XML文件,所以我不确定应该放在哪里,或者如果这不是适用于Android的良好文件结构?你想这样做吗?如果您位于哪个目录下,应该将它们放在什么目录下?那么您应该如何访问文件?我知道如何使用FileInputStreams和FileOutput

  • 最近,我开始使用spring boot,我正在尝试将我的旧spring项目转换为使用它,所有这些项目都是web应用程序。我设法编译、打包和运行应用程序,但当我尝试在浏览器中访问它们时,我无法访问我的视图。 首先,我尝试将jsp页面放在通常的文件夹src/main/webapp/WEB-INF/jsp中,但在从官方留档中阅读本文后: http://docs.spring.io/spring-boot

  • 本文向大家介绍Spring Boot 中的静态资源放置位置,包括了Spring Boot 中的静态资源放置位置的使用技巧和注意事项,需要的朋友参考一下 当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:“松哥,我的HTML页面好像没有样式?”,今天我就通过一篇文章,来和大伙仔细聊一聊这个问题。 SS

  • 我对Springs@Configuration和@Conditional annotation是新手。我在问自己,在我的maven文件夹结构中,这些配置java文件应该放在哪里。 到目前为止,我将所有配置xml文件放入src/main|test/Resources/但是使用这种新方法,不再有xml文件。 谢啦

  • 我的android项目只有aidl文件,项目结构如下: 我正在用maven构建我的android项目。我的pom使用dexguard maven插件,它是android maven插件的扩展。 在插件配置中,我明确指定了源aidl文件的目录 但在运行mvn clean install-e之后,我得到了以下错误跟踪: 怎么了?

  • 在我当前的spring boot项目中,我的视图有以下几行: 引用静态css文件。当我运行项目并访问引用此文件的视图之一时,我会收到404未找到错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。 到目前为止,我一直在尝试: 存储此类文件的正确位置是什么?