Springboot前后端分离项目合并一起打war包
在Spring Boot项目中,要将前后端分离的项目合并为一个WAR包,你需要做以下几步:
- 确保你的前端项目(如Vue.js, React等)已经构建生成静态文件。
- 在Spring Boot项目中添加Maven插件以打包成WAR文件。
- 配置Spring Boot,使其能够正确地服务静态资源。
- 将静态文件复制到WAR包中的指定位置。
以下是一个简化版的pom.xml
配置示例:
<project>
<!-- ... 其他配置 ... -->
<packaging>war</packaging>
<dependencies>
<!-- 添加Spring Boot Starter Web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 其他依赖 -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
<!-- 排除其他不需要的依赖项 -->
</excludes>
</configuration>
</plugin>
<!-- 如果你使用的是Spring Boot 2.3及以上版本,可以使用这个插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3</version>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/src/main/frontend/dist</directory>
<targetPath>META-INF/resources/</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
确保你的Spring Boot应用配置能正确地处理静态资源的请求,例如:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/")
.setCachePeriod(getSecondsForCache());
}
private int getSecondsForCache() {
// 根据需要设置缓存时间
retu
评论已关闭