gpt4 book ai didi

java - Spring Boot ,gradle,angularJS和一个 fat jar

转载 作者:行者123 更新时间:2023-12-03 05:47:58 26 4
gpt4 key购买 nike

我的spring-boot项目是这样的:

project
|__ build.gradle
|__ settings.gradle
|__ application
|__ library
|__ web
|__ application
|__ library
|__ web

应用程序包含main和一个实现WebMvcConfigurer的MvcConfig类:
@Configuration
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers (ResourceHandlerRegistry registry) {
String workingDirectory = System.getProperty("user.dir");

registry.addResourceHandler("/**")
.addResourceLocations("file:///" + workingDirectory + "/../web/dist/");
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index.html");
}
}

当我运行时:gradlew:application:bootRun =>一切正常。

我的Web目录是angularJS应用程序,而gulp则将其构建在dist目录中。 (我正在使用moowork节点和gulp gradle插件)

但是现在,我想将所有应用程序都放在一个用bootJar生成的胖 jar 中。
java -jar application.jar (will run all the app)

application.jar包含web.jar,其中包含dist目录中的所有内容。

gradlew:application:bootJar会生成包含所有内容(库, Spring 启动网络)的jar,但是当我启动它时,找不到我的index.html

我知道我必须更改addResourceLocations参数,但是我需要一些帮助。
我尝试过(没有成功):
.addResourceLocations("classpath:/web/");

最佳答案


答案很简单:
由于web.jar包含dist内部的所有内容,因此我只需要这样做:

.addResourceLocations("classpath:/");

关于java - Spring Boot ,gradle,angularJS和一个 fat jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49073961/

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