SpringBoot项目搭建与打包
一、环境准备
- 本地java环境jdk1.8
- Maven版本3.5.2
- 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项目搭建与打包的更多相关文章
- SpringBoot 项目搭建(详细介绍+案例源码)
SpringBoot 项目搭建 SpringBoot 项目整合源码 SpringBoot 项目整合 一.项目准备 1.1 快速创建 SpringBoot 项目 1.2 标准项目结构图如下 1.3 添加 ...
- SpringBoot之入门教程-SpringBoot项目搭建
SpringBoot大大的简化了Spring的配置,把Spring从配置炼狱中解救出来了,以前天天配置Spring和Mybatis,Springmvc,Hibernate等整合在一起,感觉用起来还是挺 ...
- SpringBoot项目如何进行打包部署
springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为spring ...
- springboot系列二、springboot项目搭建
一.官网快速构建 1.maven构建项目 1.访问http://start.spring.io/ 2.选择构建工具Maven Project.Spring Boot版本2.1.1以及一些工程基本信息, ...
- maven+springboot项目使用idea打包
首先简单了解一下maven: 概述 日常开发中,我们用到的maven相关功能大概以下几种: 1. 管理jar依赖 2. 构建项目(打包.编译等) 3. 发布项目(共享.上传至服务器,供他人使用) 简单 ...
- 从零开始的SpringBoot项目搭建
前言 今天是我加入博客园的第一天今天刚好学习到SpringBoot,就顺便记录一下吧 一.创建项目 1.创建工程 ① 通过File > New > Project,新建工程,选择Sprin ...
- 使用Eclipse对SpringBoot项目如何进行打包部署
1,打包概要介绍: 自己做了个小demo,突然想练一下如何打包发布,期间出现了两个错误,第一个是加载不到主类,第二个是加载不到jsp文件,一会会把这两个问题一一陈述,以及解决方法. 1.1,先检查po ...
- docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- SpringBoot项目搭建 + Jwt登录
临时接了一个小项目,有需要搭一个小项目,简单记录一下项目搭建过程以及整合登录功能. 1.首先拿到的是一个码云地址,里面是一个空的文件夹,只有一个 2. 拿到HTTPS码云项目地址链接,在IDEA中cl ...
随机推荐
- HBase根据Rowkey批量查询数据JAVA API(一次查多条,返回多个记录)
最近在生产中遇到了一个需求,前台给我多个rowkey的List,要在hbase中查询多个记录(返回给前台list).在网上也查了很多,不过自己都不太满意,filter的功能有可能查询结果不是准确值,而 ...
- 【Contest Hunter 5302】金字塔
[原题链接]传送门 [题解思路] 1.考虑如何将序列与树相对应,想到类似dfs序和欧拉序,同一个子树对应序列连续 2.暴力分子树过于复杂,考虑简化(划重点: 若当前区间为[l,r],考虑第一颗子树所在 ...
- MyBatis Generator 自定义生成注释
注释生成器 为了生成db里面的注释,必须自定义注释生成器 EmptyCommentGenerator: import org.mybatis.generator.api.CommentGenerato ...
- 使用bootstrap-select有时显示“Nothing selected”
.html()后加 $('#courseList').selectpicker('refresh'); $('#courseList').selectpicker('render'); 来源
- IISExpress配置使其能通过IP访问方法
环境说明: 本机IP:192.168.2.100:Web端口:11843 步骤一 打开[我的文档]\IISExpress\config\applicationhost.config,找到下面的代码块 ...
- APP多开教程
https://bbs.feng.com/read-htm-tid-11793134.html 本教程原创,送给有需要的人.本人就为了多开百度云盘传数据,故多开两个百度云盘,亲测一周多没毛病.微信多开 ...
- DPDK kni创建要先于port开启
DPDK kni创建要先于port开启 1. DPDK kni创建使用API:- rte_kni_init- rte_kni_alloc 2. DPDK port开启使用API:- rte_eth_d ...
- JMETER-01
jmter安装 1.Linxu安装: 步骤:下载JMeter包-->解压包-->赋权限-->配置环境变量-->测试服务 1.下载:wget http://mirrors.hus ...
- Android 正则表达式实例
editText正则表达式的使用 检查输入是否符合规则 import Android.app.Activity; import android.os.Bundle; import android.vi ...
- Android 中正则表达式工具类
package com.example.administrator.magiclamp.utils; import java.util.regex.Pattern; /** * 校验器:利用正则表达式 ...