0

在使用 Maven 将资源捆绑到 JAR 文件中时,我感觉我遗漏了一些关键的东西。我的目录结构是标准的 Maven 目录结构。

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

4

1 回答 1

0

我无法对 Spark 发表评论,但是当您创建工件(jar,胖与否)时,它只是不包含main/resources文件夹(使用 winrar 之类的工具打开 jar 并检查自己)。

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

通常你可以在读取资源的代码中使用:

getClass().getResourceAsStream("/public/impages/path/sample.js") 
于 2019-11-05T11:12:55.093 回答