一、环境准备

  1. 本地java环境jdk1.8
  2. Maven版本3.5.2
  3. IDE工具idea2017

二、SpringBoot微服务搭建

1.点击File >> New >> Project,选中Spring Initializr,选择项目JDK版本,点击下一步即可。

2.设置项目的基本信息和相关配置

3.选择spring boot版本和项目的基本依赖

4.选择项目的位置

5.选择打开一个新窗口

6.项目的基本结构

以上就是单个微服务项目搭建的基本过程

三、Spring Boot 多模块项目搭建

主项目及相关配置

1.搭建一个主项目

2.删除src目录,得到以下项目结构

3.打开pom文件得到以下内容

因为主项目不需要打包,所以删除项目打包配置,并把打包方式改为pom:修改结果如下

项目公共类微服务搭建

如果微服务比较多,项目比较复杂,多个项目可能使用同一个类和共用配置,所以我们可以把一些公用的代码提取出来,放到一个微服务里面供其他微服务使用。

1.建立common模块

右键选中项目 >> New >> Module

打开Module新建窗口,新建过程和普通微服务新建过程一般无二(可以参考第二节)

因为公共微服务不需要启动和测试,所以可以删除启动类和test目录

2.修改主项目master的pom文件

3.修改微服务common的pom文件(common也不需要打包)

应用类微服务搭建

几乎所有项目都有用户模块,我们可以将用户模块单独提出来,作为一个微服务使用

1.新建用户微服务模块

2.修改主项目master的pom

3.修改微服务sysuser的pom,同时引入common

以上多模块项目就搭建完成了

四、项目使用第三方jar包(本地jar包)

在项目src下新建一个lib文件夹,把所有第三方jar放入

 

在pom文件中配置dependency依赖

<dependency>
<groupId>fileserver-client</groupId>
<artifactId>fileserver-client</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/lib/fileserver-client.jar</systemPath>
</dependency>

这样项目就可以编译成功,但项目打包的时候会报jar找不到的错误

五、项目打包配置

项目打包命令:mvn -Dmaven.test.skip –U clean package

可以整个项目一起打包,

也可以单个微服务打包,不过这里有一个地方需要注意

common打包出来的应该是不可执行的jar包,所以不要在common的pom中定义spring-boot-maven-plugin插件,因为这个SpringBoot插件会在Maven的package后进行二次打包,目的为了生成可执行jar包,如果common中定义了这个插件,会报错提示没有找到main函数。这时你就可以去打包sysuser项目了,当然打包的时候可能还是不行,这里还有一个小坑,如果还是不能进行打包的话,那么就install一下master项目,也就是总目录下的pom文件对应的install操作,这样再打包front项目基本上就没有问题了,老铁,都是经验呀,希望对你们有帮助

打包jar

在项目中设置打包类型

<packaging>jar</packaging>

修改打包插件

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.ccdc.microservice.upload.UploadApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
</build>

打包war

1.在项目中设置打包类型

<packaging>war</packaging>

2.修改打包插件

<build>
<plugins>
<!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>

2.重写应用启动类

@SpringBootApplication
public class UploadApplication extends SpringBootServletInitializer { public static void main(String[] args) {
SpringApplication.run(UploadApplication.class, args);
} @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(UploadApplication.class);
} }

SpringBoot项目搭建与打包的更多相关文章

  1. SpringBoot 项目搭建(详细介绍+案例源码)

    SpringBoot 项目搭建 SpringBoot 项目整合源码 SpringBoot 项目整合 一.项目准备 1.1 快速创建 SpringBoot 项目 1.2 标准项目结构图如下 1.3 添加 ...

  2. SpringBoot之入门教程-SpringBoot项目搭建

    SpringBoot大大的简化了Spring的配置,把Spring从配置炼狱中解救出来了,以前天天配置Spring和Mybatis,Springmvc,Hibernate等整合在一起,感觉用起来还是挺 ...

  3. SpringBoot项目如何进行打包部署

    springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为spring ...

  4. springboot系列二、springboot项目搭建

    一.官网快速构建 1.maven构建项目 1.访问http://start.spring.io/ 2.选择构建工具Maven Project.Spring Boot版本2.1.1以及一些工程基本信息, ...

  5. maven+springboot项目使用idea打包

    首先简单了解一下maven: 概述 日常开发中,我们用到的maven相关功能大概以下几种: 1. 管理jar依赖 2. 构建项目(打包.编译等) 3. 发布项目(共享.上传至服务器,供他人使用) 简单 ...

  6. 从零开始的SpringBoot项目搭建

    前言 今天是我加入博客园的第一天今天刚好学习到SpringBoot,就顺便记录一下吧 一.创建项目 1.创建工程 ① 通过File > New > Project,新建工程,选择Sprin ...

  7. 使用Eclipse对SpringBoot项目如何进行打包部署

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

  8. docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  9. SpringBoot项目搭建 + Jwt登录

    临时接了一个小项目,有需要搭一个小项目,简单记录一下项目搭建过程以及整合登录功能. 1.首先拿到的是一个码云地址,里面是一个空的文件夹,只有一个 2. 拿到HTTPS码云项目地址链接,在IDEA中cl ...

随机推荐

  1. webmagic爬虫抓取工作室成员博客

    一.导入依赖 <!--webmagic依赖--> <dependency> <groupId>us.codecraft</groupId> <ar ...

  2. Android中获得网络状况的实现

    要得知网络状况就是要用networkinfo类这个类名还是把这个类的意思表达的很清晰的,network是网络,info是状况.判断是否有网用到了这个类的IsAvailable方法,这个方法返回的是这个 ...

  3. arch安装以及配置记录

    设置ip和网关 ifconfig eth0 10.82.16.233 netmask 255.255.255.0 route add default gw 10.82.16.1 或者 ip addr ...

  4. 2019 年 GrapeCity Documents 产品路线图

    前言 | 问题背景 随着软件行业引入新的硬件和操作系统,我们看到更多的托管框架与.NET技术保持同步.Microsoft的.NET Standard和.NET Core定义了一个跨平台规范,为应用程序 ...

  5. redis 执行操作时提示(error) NOAUTH Authentication required.

    (error) NOAUTH Authentication required. 出现认证问题,设置了认证密码,输入密码即可 127.0.0.1:6379> auth 123456

  6. 关于python中loc和iloc方法

    pandas以类似字典的方式来获取某一列的值 import pandas as pd import numpy as np table = pd.DataFrame(np.zeros((4,2)), ...

  7. docker笔记(2)-----容器连接

    2019-01-12  13:57:36 Dockerfile基本结构: 基础镜像内容:FROM指明base image 维护者信息: 镜像操作指令:RUN指令,每运行一条RUN指令,镜像添加新的一层 ...

  8. 编译原理中DFA最小化

    关于编译原理最小化的操作,专业术语请移步至:http://www.360doc.com/content/18/0601/21/11962419_758841916.shtml 这里只是记录一下个人的理 ...

  9. Js拾忆

    instanceof运算符:他是判断一个构造函数的prototype是否在对象的原型链上查找到 var a = new Array(); console.log(a instanceof Array) ...

  10. java网络编程小白教程

    1 网络编程 1.1 网络 把多台终端(计算机)通过物理线路连接起来,形成网络.便于交换数据.共享信息.组成更强大的逻辑体. 1.1.1 网络通信三要素 [1]IP地址:唯一标识网络上的每一台计算机 ...