当使用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");
加载资源。
答案 0 :(得分:0)
我无法对Spark进行评论,但是,当您创建工件(jar不论是否胖)时,它仅不包含main/resources
文件夹(使用winrar等工具打开jar并检查一下自己)。
另一个困难是,如果您使用的东西可以与File
抽象一起使用-工件内部可能是错误的。 File
描述了文件系统上的位置,您正在尝试从工件中读取内容。
通常,您可以在读取资源的代码内使用:
getClass().getResourceAsStream("/public/impages/path/sample.js")