Springboot前后端分离项目合并一起打war包
    		       		warning:
    		            这篇文章距离上次修改已过423天,其中的内容可能已经有所变动。
    		        
        		                
                在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
评论已关闭