IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff

目录

    • IDEA打包SpringBoot成jar和war包方式
      • 方法一,jar包
      • 方法二,war包
      • icon无法加载

IDEA打包SpringBoot成jar和war包方式

本人这里使用的框架结构是这样的
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第1张图片

打包前确认

打包成jar包还是war包根据自己需求

方法一,jar包

打开pom.xml,打包类型jar
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第2张图片
将测试依赖注释,不然打包时还是会告诉你有测试无法打包的
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第3张图片
bulid标签中,因为使用的是jsp所以这里的配置我这如下这样配的

<build>
	<finalName>Layui-SpringBoot-JspfinalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-maven-pluginartifactId>
			<version>1.4.2.RELEASEversion>
		plugin>
		<plugin>
			<groupId>org.apache.maven.pluginsgroupId>
			<artifactId>maven-resources-pluginartifactId>
			<configuration>
				<encoding>UTF-8encoding>
				<useDefaultDelimiters>trueuseDefaultDelimiters>
			configuration>
		plugin>
	plugins>
	<resources>
		<resource>
			<directory>src/main/resourcesdirectory>
			<filtering>falsefiltering>
		resource>
		<resource>
			<directory>src/main/resourcesdirectory>
			<filtering>truefiltering>
		resource>
		<resource>
			<directory>src/main/webappdirectory>
			
			<targetPath>META-INF/resourcestargetPath>
			<includes>
				<include>**/**include>
			includes>
		resource>
	resources>
build>

最后开始打包

:记得把java中的其他main方法全部去除,只能留启动类的main,不然无法打包的
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第4张图片

mvn clean package

然后cmd到Layui-SpringBoot-Jsp.jar包目录下,输入下面命令即可启动

java -jar Layui-SpringBoot-Jsp.jar

执行成功
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第5张图片

页面访问
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第6张图片

方法二,war包

操作方式和上面一样

1、pom.xml,打包类型war包
2、测试依赖注释掉
3、tomcat依赖也注释掉

<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-tomcatartifactId>
dependency>

4、启动类继承SpringBootServletInitializer,重写configure方法

package com;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

/**
 * 启动核心类
 * @author yyq
 *
 */
@ServletComponentScan // 过滤器自动注册
@SpringBootApplication
public class MPApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(MPApplication.class, args);
	}

	/**
	 * 如此配置打包后可以用tomcat下使用
	 * @param application
	 * @return
	 */
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(MPApplication.class);
	}

	/**
	 * JSP配置
	 * @return
	 */
	@Bean
	public InternalResourceViewResolver viewResolver() {
	    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
	    viewResolver.setPrefix("/WEB-INF/views/");
	    viewResolver.setSuffix(".jsp");
	    return viewResolver;
	}
	
}

参考:https://www.cnblogs.com/zeussbook/p/10792567.html
如果配置了websocket,且报错,则需要注释掉WebSocketConfig配置类
如:

package com.modules.websocket;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

//@Configuration
public class WebSocketConfig {
	
    /**
     * ServerEndpointExporter 作用
     *
     * 这个Bean会自动注册使用@ServerEndpoint注解声明的websocket endpoint
     *
     * @return
     */
    //@Bean
    /*public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }*/
}

websocket相关错误参考:https://blog.csdn.net/qq_37168856/article/details/105095228

打包方式同上

然后把war包丢到tomcat的webapps文件夹里启动tomcat,页面根据这个war项目名访问即可

icon无法加载

如果找不到icon图标无法加载ttf、woff,需要在pom.xml中配置如下,resource中配置红框中操作,清除缓存重启服务即可
IDEA打包SpringBoot成jar和war包方式,SpringBoot打包JSP项目报404错误处理,SpringBoot无法加载icon图标ttf、woff_第7张图片

<build>
	<resources>
		<resource>
			<directory>src/main/resourcesdirectory>
			<filtering>falsefiltering>
			<includes>
				<include>**/**include>
			includes>
		resource>
		<resource>
			<directory>src/main/resourcesdirectory>
			<filtering>truefiltering>
			<excludes>
				<exclude>**/**exclude>
			excludes>
		resource>
		
	resources>
build>

其他:application.yml中配置相关连接地址记得改成部署需要

你可能感兴趣的:(Spring,Boot,后端,layui,spring,boot,intellij-idea,jar,layui)