Maven:可执行jar没有找到资源

时间:2013-05-11 09:14:05

标签: maven jar resources

我用以下内容阅读了几个文件:

new File(Thread.currentThread().getContextClassLoader().getResource("Configuration.txt")).getFile());

哪个适用于构建的项目和mvn测试,但是一旦我尝试执行jar文件,这些调用就是null。这些文件实际存在于jar中。 这可能有什么问题?

我的pom-part用于构建jar(我现在没有相关的依赖关系):

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>2.4</version>
  <configuration>
  <archive>
      <manifest>
        <addClasspath>true</addClasspath>
        <mainClass>path.to.mainclass</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>

资源文件位于标准文件夹src / main / resources

1 个答案:

答案 0 :(得分:0)

当您使用mvn test或从IDE运行测试时,您可以从文件系统访问物理文件,但是当您使用带有压缩资源的jar时,您无法使用File类或getFile()方法。您应该使用getClass().getResource()来电或getClass().getResourceAsStream()