spring多模块打包部署

网友投稿 195 2024-01-12


springcloud多module如何打包部署

Spring Cloud项目必须基于Spring Boot项目来开发,所以这里讲解Spring Boot项目的部署,Spring Cloud项目也是同理。博主使用的是Dockerfile的形式来部署。

在生产环境中,一般需要部署高可用的API网关集群来避免单点故障,这里有两种部署方案。(以Zuul举例)这种情况是比较简单的,即多个Zuul客户端注册到Eureka Server上,就可以实现Zuul的高可用。

也不想SpringBoot,可以理解为它是加强版的Spring,集成了SSM和其它一些框架,并且大量支持和推荐注解开发。但是对于Spring Cloud,它是一个微服务架构的框架, 它不是单独的某个项目,是多个项目的集成 。

XML示例(Json示例见discovery-springcloud-example-service下的rule.json)黑/白名单的IP地址注册的过滤规则 微服务启动的时候,禁止指定的IP地址注册到服务注册发现中心。

在上一节 SpringCloud组件之Ribbon 中,实现了一个Ribbon的Helloword,使用的是Spring Eureka 和Spring Ribbon结合使用,并且使用Ribbon的默认轮询注册清单的负载均衡策略。

SpringBoot多模块项目(Multi-Modules)

1、项目整体为SpringBoot项目,启动类在一个模块中,启动后发现另外一个模块的controller未加载,调用其中的接口报404。这个是跨模块的,启动类在模块A的com.kunlin下,它可以扫描模块B的com.kunlin目录下的内容。

2、聚合(多模块)则是为了方便一组项目进行统一的操作而作为一个大的整体,所以要真正根据这两者不同的作用来使用,不必为了聚合而继承同一个父POM,也不比为了继承父POM而设计成多模块。

3、Spring IOC 注入的实例对象。分析:Maven 运行 JUnit 5 单元测试需要添加以下依赖:前两个是 JUnit 5 相关依赖,已通过 spring-boot-starter-test 引入。 maven-surefire-plugin 必须使用 20 及以上版本。

4、右键项目名称 - New - Module 依然选择maven,起名字即可。一般命名为:XXXX-Controller,XXXX-Service等等 建好后,pom中会多出以下内容 (放弃多模块配置)可在此处搜索 mvnrepository 首先添加parent,作为父级依赖。

SpringBoot项目打包-Assembly

1、使用shade插件来打包.在shade的打包配制中指明spring.handlers和spring.schemas文件会以append方式加入进来,从而确保其他spring的jar中的这两个文件的信息不会被遗漏。

2、该文件声明了Main-Class 配置项:可以理解为jar包的启动类,这里设置为 spring-boot-loader 项目的 JarLauncher类,进行 Spring Boot 应用的启动。还有一个Start-Class 配置项:配置的内容是我们springboot项目的主启动类。

3、新建一个项目demo,创建一个子项目base,用于做为其他项目的依赖。这个时候base的package应该和父级的相同并且pom文件中应该修改配置为:并执行install命令。

SpringBoot项目部署到tomcat

1、spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变,还是:mvn spring-boot:run。

2、就是让启动类继承SpringBootServletInitializer,并重写configure方法,然后再打war包部署,就能成功加载spring boot了,项目能够正常访问。

3、war包方式部署 war包其实是打包后的Java Web工程, 本质上是个压缩包 ,里面包含了很多目录及文件,我们把war包放入Tomcat这类容器中启动后,war包就会自动解压出一个同名的文件夹来。

SpringBoot项目使用war包部署至云服务器(Linux+Tomcat)

1、就是让启动类继承SpringBootServletInitializer,并重写configure方法,然后再打war包部署,就能成功加载spring boot了,项目能够正常访问。

2、war包方式部署 war包其实是打包后的Java Web工程, 本质上是个压缩包 ,里面包含了很多目录及文件,我们把war包放入Tomcat这类容器中启动后,war包就会自动解压出一个同名的文件夹来。

3、导出war包,右键选择要发布的项目--选择导出。选择java EE下的war file,选择next,选择路径后--finish,完成了war的导出。下载一个免安装版的tomcat。将war包放入webapp中。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:docker创建(docker创建容器命令)
下一篇:emui在线升级包?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~