最近使用SpringBoot返回jsp页面,在本地IDEA里执行没有问题,但是想打包到linux下怎么办?从网上找资料说执行mvn clean insall 命令(在pom文件那个目录下执行),但是打包后放在服务器上运行 java -jar xx.jar 后返回一直报错
把文件解压后发现jsp并没有被加入进来,于是在网上找资料,最后大功告成。
1. 下面的是我的文件存放路径,jsp不是按标准的路径来的。在Myeclipse中的web项目有个web-info文件夹 ,里面的jsp不能被随意访问的;所以我的jsp按照习惯放在了这里。这样的话关键就是pom文件了。
这是我的pom文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Spring</groupId> <artifactId>Spring</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> <relativePath></relativePath> </parent> <!-- spring-boot的web启动的jar包 --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--配置servlet--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <!--配置jsp jstl的支持--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!--添加对tomcat的支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> <resources> <!-- 打包时将jsp文件拷贝到META-INF目录下 --> <resource> <!-- 指定resources插件处理哪个目录下的资源文件 --> <directory>src/main/webapp/jsp/</directory> <!--注意此次必须要放在此目录下才能被访问到 -->
<!-- 刚开始的时候是 META-INF/resources
虽然打包的时候文件进去了,但是访问的时候还是路径有问题,无法返回正确页面 就又加了一级/jsp-->
<
targetPath
>META-INF/resources/jsp/
</
targetPath
>
<
includes
>
<
include
>**/**
</
include
>
</
includes
>
</
resource
>
<
resource
>
<
directory
>src/main/resources
</
directory
>
<
includes
>
<
include
>**/**
</
include
>
</
includes
>
<
filtering
>false
</
filtering
>
</
resource
>
</
resources
>
</
build
>
</
project
>
还有就是上面的 <version>1.4.0.RELEASE</version>想改到1.4.2但是pom文件报错,改到1.5.0执行命令的时候Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:1.5.0.RELEASE from/to central。不管怎么样吧,总算是弄好了,下面是结果。
最后要感谢的是 前进的HelloWorld 大神 https://blog.csdn.net/qq_34665539/article/details/74783910