技术交流QQ群
729987144
spring boot 打 jar包 jsp不能访问 404错误解决办法
1.首先看一下是否指定了war包
<groupId>com.zhonghe</groupId>
<artifactId>active4j-oa</artifactId>
<version>1.0</version>
<!-- <packaging>war</packaging>-->
<packaging>jar</packaging>
<name>active4j-oa</name>
<description></description>
2.添加 Tomcat依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
3.指定spring-boot-maven-plugin
版本为1.4.2.RELEASE
(注意,这个必须指定否则无法正常打包且无法解决404问题):
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>start.Application</mainClass>
</configuration>
</plugin>
ps 版本必须是1.4.2.RELEASE 我测试过许多版本都不行,欢迎各大网友来测试
4.打包jsp等资源文件, pom.xml需要配置以下内容
build----配置
<resources>
<resource>
<directory>${pom.basedir}/src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到-->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${pom.basedir}/src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
5.最终build配置
<build>
<resources>
<resource>
<directory>${pom.basedir}/src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到-->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${pom.basedir}/src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 把webapp jsp 打成jar包必须用这个版本 -->
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.active4j.hr.Active4jhrApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>