Maven-从JAR文件加载资源?

时间:2019-11-05 08:50:04

标签: java maven jar fatjar

当使用Maven绑定JAR文件中的资源时,我感觉缺少一些重要的东西。我的目录结构是标准的Maven目录。

使用IDE时,我将资源文件引用为\main\resources\public\images\path,并且可以正常工作,但是当Maven css js和图像无法正常工作且站点看起来很糟糕时。如果我在罐子里看,我会找到所有的CSS,JS和图像。当我尝试在浏览器中打开css链接时,出现404错误。这是我的pom.xml https://shrib.com/#XGISjWGN7QRfa2EIZD4r。在日食中工作正常。 我使用Spark.staticFiles.location("public");加载资源。

1 个答案:

答案 0 :(得分:0)

我无法对Spark进行评论,但是,当您创建工件(jar不论是否胖)时,它仅不包含main/resources文件夹(使用winrar等工具打开jar并检查一下自己)。

另一个困难是,如果您使用的东西可以与File抽象一起使用-工件内部可能是错误的。 File描述了文件系统上的位置,您正在尝试从工件中读取内容。

通常,您可以在读取资源的代码内使用:

getClass().getResourceAsStream("/public/impages/path/sample.js")