gpt4 book ai didi

java - 使用静态内容运行 spring boot jar

转载 作者:行者123 更新时间:2023-12-02 12:17:18 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 并将静态内容(html、css 等)存储为 src/main/webapp。我知道不建议这样做,因为它不会存储在 jar 文件中(应该位于 /META-INF/resources//resources//static//public/)。但我的问题不是在 jar 中存储静态内容。

这是项目结构:

App
├──src
| └───main
| ├── java
| | └── ...
| ├── resources
| | └── (everything here will be in jar)
| └── webapp <- this won't be in jar
| └── ...
└ target
└───App.jar

当我尝试将 App 文件夹中的 jar 作为 java -jar target/App.jar 运行时,Spring Boot 会找到静态内容并且工作正常。但是,从 target 文件夹作为 java -jar App.jar 运行它不会找到静态内容。

如何从目标文件夹运行App.jar并让Spring Boot查找静态内容?与类路径有关吗?我试图使用 -cp 选项指定类路径,但它不起作用。

最佳答案

有一种观点认为这是一个构建问题。我的意思不是包装问题(我知道你不想把它放进 jar 里)。但您还有另一个选择:您的构建系统(例如 Maven)可以将静态文件复制到目标文件夹中。

This answer演示如何使用 maven-antrun-plugin 调用 Ant 的 copy 命令。这会将静态文件的副本放入 target 文件夹中。

显然改变执行阶段(测试阶段对于您的用例来说太具体/太晚)。也许看看是否有更 Maveny 的方式来做到这一点(因为委托(delegate)给 Ant 并不是 super 惯用的)。

关于java - 使用静态内容运行 spring boot jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46073371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com