基于springboot 和jsp的项目打包注意事项
基于springboot 和jsp的项目打包jar的注意事项
使用springboot可以开发基于jsp的的java web项目,打包方式有两种,jar和war。但是在打包jar时,很容易出现问题。主要总结两点共大家参考。
注意事项1,修改webapp资源路径,必须将资源导入到包中
在pom.xml的build标签中,添加以下resources标签。
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<!--包含指定格式的文件,maven会自动忽略.class格式之外的其他的格式文件-->
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<!--排除指定格式的文件-->
<!-- <excludes>
<exclude>**/*.class</exclude>
</excludes>-->
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
</resource>
</resources>
其中,重点是:
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
作用是将web资源放到jar包的META/resources下
在这里插入图片描述
注意事项2,注意spring-boot-maven-plugin的版本
例如,1.5.3.RELEASE即便在jsp已经添加到了jar中还是会导致访问404;
但是1.4.2.RELEASE没有问题。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>