一、环境准备

  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. 使用 Gradle 构建 Java 项目

    使用 Gradle 构建 Java 项目 这个手册将通过一个简单的 Java 项目向大家介绍如何使用 Gradle 构建 Java 项目. 我们将要做什么? 我们将在这篇文档航中创建一个简单的 Jav ...

  2. opencv学习之路(32)、角点检测

    一.角点检测的相关概念 二.Harris角点检测——cornerHarris() 参考网址: http://www.cnblogs.com/ronny/p/4009425.html #include ...

  3. ADO.Net的发展史

    1.演变历史: 它们是按照这个时间先后的顺序逐步出现的,史前->ODBC->OLEDB->ADO->ADO.Net. 2.下面分别介绍一下这几个. a. 史前的数据访问是什么样 ...

  4. 搭建Flutter-iOS开发环境

    https://www.jianshu.com/p/b50a92afbef1 1.获取Flutter工程 git clone -b beta https://github.com/flutter/fl ...

  5. Appium+python 使用 press_keycode 如何输入大写字母

    背景:在做自动化测试项目时,需要在文本框中输入一串数字和字母组合的字符串(注:此页面为webview无法使用send_keys方法) 要使用send_keys方法首先要知道键盘字符对应的数值,这个可以 ...

  6. oracle 增加大字段项

    --不同类型增加大字段项 alter table 表名 add 新增一个字段B clob; --将需要改成大字段的项内容copy到大字段中 update 表名 set 新增一个字段B=字段A; --将 ...

  7. Android文件各种存储路径的比较

    1.File cacheDir = context.getCacheDir(); 应用内部存储空间(数据文件私有)文件存储到这个路径下,不需要申请权限,当应用被卸载的时候,目录下的文件会被删除. 需要 ...

  8. 浏览器解析JavaScript的原理

    JavaScript的特点一般都知道的就是解释执行,逐行执行,就是从上到下依次执行. JavaScript的执行之前,其实还是有一些操作的,只是没有表现出来 JavaScript的执行过程: 1.语法 ...

  9. hyperledger fabric 架设命令

    单节点架设 Order 网络: cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ rm -rf channel-artifacts ...

  10. 如何在 Apache 里修改 PHP 配置

    当使用 PHP 作为 Apache 模块时,也可以使用 Apache 配置文件(例如:httpd.conf) 和 .htaccess 文件中的指令来修改 PHP 的配置 设定,不过需要有 " ...