SpringBoot 发布到linuxxitong

最近使用SpringBoot返回jsp页面,在本地IDEA里执行没有问题,但是想打包到linux下怎么办?从网上找资料说执行mvn clean insall 命令(在pom文件那个目录下执行),但是打包后放在服务器上运行 java -jar xx.jar  后返回一直报错

把文件解压后发现jsp并没有被加入进来,于是在网上找资料,最后大功告成。

1. 下面的是我的文件存放路径,jsp不是按标准的路径来的。在Myeclipse中的web项目有个web-info文件夹 ,里面的jsp不能被随意访问的;所以我的jsp按照习惯放在了这里。这样的话关键就是pom文件了。

SpringBoot 发布到linuxxitong

这是我的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-bootweb启动的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。不管怎么样吧,总算是弄好了,下面是结果。

SpringBoot 发布到linuxxitong

最后要感谢的是  前进的HelloWorld 大神    https://blog.****.net/qq_34665539/article/details/74783910