Gradle和src / main / resources

时间:2019-06-24 16:39:58

标签: java gradle jar

我有一个gradle项目,在eclipse中运行良好。在我有的Java代码中

Properties p = MyClass.class.getClassLoader.getResourceAsStream("myProps.properties");

File f = new File(p.getProperty("myFile"));

我的结构是:

src/main/java - has java files
src/main/resources - has myProps.properties and myFile.txt

myProps.properties具有:

myFile=src/main/resources/myFile.txt

如果我进行了gradle构建(使用默认的shadowJar任务),我的资源现在已从src / main / resources移至jar文件的根目录。

shadowJar {
   manifest{
     // The only thing I modify is the attributes
   }
}

当我通过运行执行jar时
“ java -jar myJar.jar”出现FileNotFound异常,该异常引用了myFile.txt资源文件。

解决此问题的正确方法是什么,这样代码才能在Eclipse和可执行jar环境中工作?

1 个答案:

答案 0 :(得分:1)

我需要将文件读取为流(与读取属性文件的方式相同)。我从属性文件中的路径中删除了“ src / main / resources”,它起作用了

相关问题