对于Gradle Java项目,如何从资源文件夹中访问文件,该文件位于项目的分发zip或war文件中?

时间:2017-08-24 20:30:49

标签: java gradle

我有一个java代码片段,我试图从资源文件夹中访问其中一个文件。 项目结构:

|--src/main/java
|----core
|----resources

获取此文件路径的Java代码:

String defaultDictionaryPath = getClass().getResource("/resources/textFile.txt").toURI().getPath();

这是我编写的gradle构建文件代码,用于在分发zip文件夹中包含资源。

mainClassName = 'core.MainClassName'

applicationDistribution.from("src/main/java/resources") {
    into "resources"
}

成功构建会生成一个构建文件夹:

|--build
|----classes
|----distributions
|------ProjectName.tar
|--------bin
|----------ProjectName.bat
|--------lib
|--------resources
|------ProjectName.zip
|--------bin
|----------ProjectName.bat
|--------lib
|--------resources
|----libs
|----reports
|----scripts
|----test-results
|----tmp

在我必须运行项目的构建之后,我解压缩ProjectName.zip下的distributions文件夹并运行ProjectName.bat文件。当它无法在resources下找到该文件并且我收到NullPOinterException错误时。

  1. 我是否正确指定了资源文件夹路径?
  2. 或者我没有正确运行项目?
  3. 或者我错过了gradle构建文件中的内容。
  4. 我是Gradle的新手所以请原谅我是否在问愚蠢的问题。 任何帮助表示赞赏。

    谢谢。

0 个答案:

没有答案