使用Eclipse对SpringBoot项目如何进行打包部署
1,打包概要介绍:
自己做了个小demo,突然想练一下如何打包发布,期间出现了两个错误,第一个是加载不到主类,第二个是加载不到jsp文件,一会会把这两个问题一一陈述,以及解决方法。
1.1,先检查pom文件
因为springboot的项目打包的话他是根据pom.xml文件进行打包的,注意:(仔细观看我写的注释,加载不到jsp文件那你还要回头再看)
<?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>com.example.demo</groupId>
<artifactId>stores-erp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 这边要改成我们jar 因为我们要大jar包 假如是war包的话就写成war -->
<packaging>jar</packaging>
<name>stores-erp</name>
<description>stores-erp</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.5</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- springboot工具 修改代码后不需重启即生效 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<!-- 注意最下面的build这块一定要配置否则打jar的时候会说找不 到主类 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 注意:记住啊 下面<version>1.4.2.RELEASE</version>
这行代码是必须要加的不加的话就全GG了,因为springboot打包有个bug
反正这行代码别忘了加
-->
<version>1.4.2.RELEASE</version>
<configuration>
<mainClass>com.example.demo.SpringBootDay02Application</mainClass>
</configuration>
</plugin>
</plugins>
<!--这里进行配置,后会自动的加载src/main/webapp下的所有文件 :配置Maven 对resource文件 过滤 -->
<!-- 我之前遇见的jsp找不到的问题 就是因为没有配置好以下的文件所以才会加载不到jsp配置文件 -->
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
1.2,pom.xml中需要注意的地方
注意pom.xml最下面的build这块一定要配置否则打jar的时候会说找不到主类(我标红的地方则是Springboot的启动类路径,咱们的路径肯定不一样修改一下哈)

1.3,启动类代码修改
在启动类当中加上继承 SpringBootServletInitializer类并重写configure方法,这是为了打包springboot项目用的(不是单单实现就完事了,有些代码还需要修改一下,仔细点)
package com.example.demo; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer; @SpringBootApplication
public class SpringBootDay02Application extends SpringBootServletInitializer{ public static void main(String[] args) {
SpringApplication.run(SpringBootDay02Application.class, args);
}
//为springboot打包项目用的
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// TODO Auto-generated method stub
return builder.sources(this.getClass());
}
}
1.4,application.properties文件检查
代码大致不需要修改,就是检查各个应用连接之类的,假如在虚拟机上部署的话则需要进行一些修改,端口号啊,环境配置连接等等
server.port=8080
server.servlet.context-path=/
debug=false spring.datasource.url=jdbc:mysql://localhost:3306/stores-erp?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=321 spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mappers/*/*.xml
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,然后就可以进行访问了效果如下:

使用Eclipse对SpringBoot项目如何进行打包部署的更多相关文章
- SpringBoot项目如何进行打包部署
		
springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为spring ...
 - eclipse  创建springboot项目
		
eclipse创建springboot项目的三种方法: 引自:https://blog.csdn.net/mousede/article/details/81285693
 - SpringBoot使用Maven插件打包部署
		
[问题] 之前一直用SpringBoot做一些小项目,想打包部署在环境上,总是少依赖包jar.百度下可以通过Spring Boot Maven plugin插件,把Maven配置的依赖包都打到项目包里 ...
 - 用eclipse发布springboot项目
		
使用eclipse打包springboot项目时一直报错 [ERROR] No compiler is provided in this environment. Perhaps you are ru ...
 - SpringBoot项目搭建与打包
		
一.环境准备 本地java环境jdk1.8 Maven版本3.5.2 IDE工具idea2017 二.SpringBoot微服务搭建 1.点击File >> New >> Pr ...
 - 使用Eclipse创建SpringBoot项目
		
1 首先我们需要安装STS插件:Help--> Eclipse Marketplace 安装成功之后,会让你重启eclipse. 2 然后 File-->New--->Proje ...
 - eclipse 运行springboot项目
		
一:当在eclipse启动spring boot项目时出现问题: 错误: 找不到或无法加载主类 com.example.demo.DemoApplication 解决办法: 1,通过cmd命令行,进入 ...
 - maven+springboot项目使用idea打包
		
首先简单了解一下maven: 概述 日常开发中,我们用到的maven相关功能大概以下几种: 1. 管理jar依赖 2. 构建项目(打包.编译等) 3. 发布项目(共享.上传至服务器,供他人使用) 简单 ...
 - (A)eclipse搭建springboot项目入门
		
网上许多资料都是用idea的,但是我个人用eclipse习惯了,所以就在eclipse里面自己尝试着写了一个hello. 然而项目建好后却迟迟不能访问!!!网上搜了许多资料都不靠谱! 虽然最后能看到h ...
 
随机推荐
- 关于Http协议与TCP协议的一些简单理解
			
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通 ...
 - Python asyncio 模块
			
Python 3.4 asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持. asyncio的编程模型就是一个消息循环.我们从asyncio模块中直接获取一个EventLo ...
 - Canal的简单使用(监控数据库数据的变化)
			
原文:https://www.cnblogs.com/java-spring/p/8930740.html canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据,用于实际工作中,比 ...
 - ndk学习之c++语言基础复习----C++容器、类型转换、异常与文件流操作
			
继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, ...
 - python redis分布式锁改进
			
0X01 python redis分布式锁通用方法 REDIS分布式锁实现的方式:SETNX + GETSET 使用Redis SETNX 命令实现分布式锁 python 版本实现上述思路(案例1) ...
 - Java8-Lambda-No.02
			
public class Lambda2 { @FunctionalInterface public static interface Converter<F, T> { T conver ...
 - TransactionSynchronizationManager用法和含义(转)
			
原文链接:https://blog.csdn.net/ly199108171231/article/details/92984574 当我们有业务需要在事务提交过后进行某一项或者某一系列的业务操作时候 ...
 - 04_mysql安装
			
# 安装 [root@localhost ~]# yum install mysql mysql-server -y 报错 [root@ossec-server ~]# yum install mys ...
 - P2993 [FJOI2014]最短路径树问题
			
思路:最短路+点分治 提交:2次 错因:更新桶的时候没有重置,而直接加上了. 题解: 对于构建最短路树,我们可以先跑最短路,然后dfs一遍连边. 然后就是点分治了,还是一些桶,存点数为\(x\)的最长 ...
 - HTML的基础
			
HTML:超文本标记语言 超文本包括:文字.图片.音频.视频.动画等 流程:写好HTML代码后通过浏览器(自动编译HTML代码)展现出效果 HTM ...