zoukankan      html  css  js  c++  java
  • 使用Eclipse对SpringBoot项目如何进行打包部署

    1,打包概要介绍:

      自己做了个小demo,突然想练一下如何打包发布,期间出现了两个错误,第一个是加载不到主类,第二个是加载不到jsp文件,一会会把这两个问题一一陈述,以及解决方法。

    1.1,先检查pom文件

      因为springboot的项目打包的话他是根据pom.xml文件进行打包的,注意:(仔细观看我写的注释,加载不到jsp文件那你还要回头再看)

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <project xmlns="http://maven.apache.org/POM/4.0.0"
      3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      4     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      5     <modelVersion>4.0.0</modelVersion>
      6     <groupId>com.example.demo</groupId>
      7     <artifactId>stores-erp</artifactId>
      8     <version>0.0.1-SNAPSHOT</version>
      9     <!-- 这边要改成我们jar  因为我们要大jar包 假如是war包的话就写成war -->
     10     <packaging>jar</packaging>
     11     <name>stores-erp</name>
     12     <description>stores-erp</description>
     13     
     14     <parent>
     15         <groupId>org.springframework.boot</groupId>
     16         <artifactId>spring-boot-starter-parent</artifactId>
     17         <version>1.5.18.RELEASE</version>
     18         <relativePath /> <!-- lookup parent from repository -->
     19     </parent>
     20 
     21     <properties>
     22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     24         <java.version>1.8</java.version>
     25     </properties>
     26 
     27     <dependencies>
     28         <dependency>
     29             <groupId>cglib</groupId>
     30             <artifactId>cglib</artifactId>
     31             <version>3.2.5</version>
     32         </dependency>
     33         <dependency>
     34             <groupId>com.github.pagehelper</groupId>
     35             <artifactId>pagehelper-spring-boot-starter</artifactId>
     36             <version>1.2.5</version>
     37         </dependency>
     38         <dependency>
     39             <groupId>jstl</groupId>
     40             <artifactId>jstl</artifactId>
     41             <version>1.2</version>
     42         </dependency>
     43         <dependency>
     44             <groupId>org.springframework.boot</groupId>
     45             <artifactId>spring-boot-starter-jdbc</artifactId>
     46         </dependency>
     47         <dependency>
     48             <groupId>org.springframework.boot</groupId>
     49             <artifactId>spring-boot-starter-web</artifactId>
     50         </dependency>
     51         <dependency>
     52             <groupId>org.apache.tomcat.embed</groupId>
     53             <artifactId>tomcat-embed-jasper</artifactId>
     54         </dependency>
     55         <dependency>
     56             <groupId>org.mybatis.spring.boot</groupId>
     57             <artifactId>mybatis-spring-boot-starter</artifactId>
     58             <version>1.3.2</version>
     59         </dependency>
     60 
     61         <dependency>
     62             <groupId>org.springframework.boot</groupId>
     63             <artifactId>spring-boot-devtools</artifactId>
     64             <scope>runtime</scope>
     65         </dependency>
     66         <dependency>
     67             <groupId>mysql</groupId>
     68             <artifactId>mysql-connector-java</artifactId>
     69             <scope>runtime</scope>
     70         </dependency>
     71         <dependency>
     72             <groupId>org.springframework.boot</groupId>
     73             <artifactId>spring-boot-starter-test</artifactId>
     74             <scope>test</scope>
     75         </dependency>
     76         <!-- springboot工具 修改代码后不需重启即生效 -->
     77         <dependency>
     78             <groupId>org.springframework</groupId>
     79             <artifactId>springloaded</artifactId>
     80         </dependency>
     81         <!-- 文件上传 -->
     82         <dependency>
     83             <groupId>commons-fileupload</groupId>
     84             <artifactId>commons-fileupload</artifactId>
     85             <version>1.3.2</version>
     86         </dependency>
     87     </dependencies>
     88     <build>
     89         <!-- 注意最下面的build这块一定要配置否则打jar的时候会说找不 到主类 -->
     90         <plugins>
     91             <plugin>
     92                 <groupId>org.springframework.boot</groupId>
     93                 <artifactId>spring-boot-maven-plugin</artifactId>
     94                 <!-- 注意:记住啊 下面<version>1.4.2.RELEASE</version>
     95                           这行代码是必须要加的不加的话就全GG了,因为springboot打包有个bug
     96                           反正这行代码别忘了加
     97                      -->
     98                 <version>1.4.2.RELEASE</version>
     99                 <configuration>
    100                     <mainClass>com.example.demo.SpringBootDay02Application</mainClass>
    101                 </configuration>
    102             </plugin>
    103         </plugins>
    104         <!--这里进行配置,后会自动的加载src/main/webapp下的所有文件 :配置Maven 对resource文件 过滤 -->
    105         <!-- 我之前遇见的jsp找不到的问题 就是因为没有配置好以下的文件所以才会加载不到jsp配置文件 -->
    106         <resources>
    107             <resource>
    108                 <directory>src/main/webapp</directory>
    109                 <targetPath>META-INF/resources</targetPath>
    110                 <includes>
    111                     <include>**/**</include>
    112                 </includes>
    113             </resource>
    114             <resource>
    115                 <directory>src/main/resources</directory>
    116                 <filtering>true</filtering>
    117             </resource>
    118         </resources>
    119     </build>
    120 </project>

    1.2,pom.xml中需要注意的地方

    注意pom.xml最下面的build这块一定要配置否则打jar的时候会说找不到主类(我标红的地方则是Springboot的启动类路径,咱们的路径肯定不一样修改一下哈

    1.3,启动类代码修改

      在启动类当中加上继承 SpringBootServletInitializer类并重写configure方法,这是为了打包springboot项目用的(不是单单实现就完事了,有些代码还需要修改一下,仔细点)

     1 package com.example.demo;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.SpringBootApplication;
     5 import org.springframework.boot.builder.SpringApplicationBuilder;
     6 import org.springframework.boot.web.support.SpringBootServletInitializer;
     7 
     8 @SpringBootApplication
     9 public class SpringBootDay02Application extends SpringBootServletInitializer{
    10 
    11     public static void main(String[] args) {
    12         SpringApplication.run(SpringBootDay02Application.class, args);
    13     }
    14     //为springboot打包项目用的
    15     @Override
    16     protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    17         // TODO Auto-generated method stub
    18         return builder.sources(this.getClass());
    19     }
    20 }

    1.4,application.properties文件检查

        代码大致不需要修改,就是检查各个应用连接之类的,假如在虚拟机上部署的话则需要进行一些修改,端口号啊,环境配置连接等等

     1 server.port=8080
     2 server.servlet.context-path=/
     3 debug=false
     4 
     5 spring.datasource.url=jdbc:mysql://localhost:3306/stores-erp?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
     6 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
     7 spring.datasource.username=root
     8 spring.datasource.password=321
     9 
    10 spring.mvc.view.prefix=/WEB-INF/jsp/
    11 spring.mvc.view.suffix=.jsp
    12 
    13 mybatis.config-location=classpath:mybatis/mybatis-config.xml
    14 mybatis.mapper-locations=classpath:mybatis/mappers/*/*.xml
    15 mybatis.type-aliases-package=com.example.demo.pojo

    2.1,第一步,

      点击项目右键,Run As=》Maven Clean进行项目刷新

     

    2.2,第二步,

      Run As=》Maven insert进行项目打包,假如成功的话则出现以下页面信息:

    2.3,第三步,

      我们找到项目中的target文件就可以看到我们的jar包文件等等了。

    2.4,第四步,

      你可以选择直接把stores-erp-0.01-SNAPSHOT.jar拷贝出去,也可以直接去他目录下找它,我选择的是找到项目中的jar文件的所在地址,在导航栏输入cmd。

    2.5,第五步,

      启动jar包项目,注意:我之前做的时候这边出了个错误,就是加载不到主类等等,是个非常操蛋的错误就是因为少加了个 -  这个坑我提你们踩了- -.(这个执行方式windows和linux上都一样)

    3,然后就可以进行访问了效果如下:

     

  • 相关阅读:
    EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之_关于接口调用常见的一些问题(401 Unauthorized)
    EasyNVR H5直播流媒体解决方案前端构建之:如何播放自动适配RTMP/HLS直播播放
    EasyNVR RTSP摄像机转HLS直播服务器中使用Onvif协议控制预置位
    EasyNVR RTSP摄像机HLS直播服务器中使用Onvif协议获取设备快照
    EasyNVR无插件直播服务器如何使用ffmpeg实现摄像机快照功能的
    EasyNVR流媒体服务器接入EasyDSS云视频平台快照上传实现
    EasyDSS RTMP流媒体服务器的HTTP接口query url的C++实现方法
    EasyDSS高性能流媒体服务器前端重构(五)- webpack + vue-router 开发单页面前端实现按需加载
    EasyDSS高性能流媒体服务器前端重构(六)- webpack-dev-server 支持手机端访问
    EasyNVR RTSP转HLS(m3u8+ts)流媒体服务器前端构建之:bootstrap-datepicker日历插件的实时动态展现
  • 原文地址:https://www.cnblogs.com/joeyJss/p/11174884.html
Copyright © 2011-2022 走看看