当前位置: 首页 > 面试题库 >

使用Maven构建后找不到来自src / main / resources的资源

谢高峯
2023-03-14
问题内容

您好,我在Java应用程序中使用了src / main / resources中的配置文件。我在我的课堂上这样阅读:

new BufferedReader(new FileReader(new File("src/main/resources/config.txt")));

因此,现在我使用Maven使用Maven进行构建mvn assembly:assembly。这是我的pom.xml中的内容:

<plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <finalName>TestSuite</finalName>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.some.package.Test</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

因此,当我运行我的应用程序时,出现此错误:

src\main\resources\config.txt (The system cannot find the path specified)

但是,当我右键单击组装好的罐子时,我可以在里面看到它,有人知道我做错了吗?


问题答案:

来自的资源src/main/resources将放置在类路径的根目录中,因此您需要按以下方式获取资源:

new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/config.txt")));

您可以通过查看由maven生成的JAR / WAR文件进行验证,就像config.txt在存档的根目录中找到的那样。



 类似资料:
  • 您好,我正在我的java应用程序中使用来自src / main /resources的配置文件。我在课堂上读到它,就像这样: 所以现在我用maven使用来构建这个。这是我的pom中的位.xml: 所以当我运行我的应用程序时,我得到了这个错误: 但是当我右键单击组装好的罐子时,我可以看到里面,有人知道我做错了什么吗?

  • 我为每个生成环境都有一个自定义属性文件夹。我已经为它定义了配置文件并添加了不同的文件夹。它们会被正确地捡起来。但是,src/main/resources中的资源没有被拾取。如果netbeans 8有什么不同的话,我会使用它。我的问题是一旦激活了不同的概要文件,是否需要在概要文件中重新指定主要资源或测试资源?多谢了。 我正在使用Maven开发一个java web项目。有一些web服务的xml文件(h

  • 我正在为我的maven项目添加一个可执行的jar测试。我已经编辑了pom文件,以使用src/main/resources中的一个主类。但是,当我尝试运行jar时,它找不到我的主类。有什么想法吗?

  • 我在论坛上搜索了我的问题的答案,但我找不到。我的问题是: 我有两个项目:项目A和项目B。ProjectB使用ProjectA。在ProjectA中,我有两个文件夹:/src/main/resources和/src/test/resource。在ProjectB中,我运行:mvn clean install。我希望,在测试阶段,ProjectB中的类使用/src/test/resources中的资源

  • 我在我的maven项目中的src/main/资源下放置了一个文件,文件名只是temp.txt. 当我试图打开文件时: 我得到一个错误: src/main/资源下的所有文件都放在maven下类路径的根文件夹中。那么为什么程序不能在这里找到文件呢?

  • 问题内容: 我在Maven项目中遇到问题,在该项目中我从src / main / resources / lib文件夹分发dll。 使用maven-assembly-plugin将项目构建为具有依赖项的单个jar。 不幸的是,maven进程在复制过程中损坏了我的dll库,因此它们不再对应用程序有用。 我看过诸如资源过滤之类的概念。 这是我相关的pom.xml 有人有什么想法吗? 我想我需要做这样的