JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/10346278.html. 本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处描述的时打包成 jar 包后 Spring 配置类不为扫描.未注册Bean的…
看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题 实现 因为我们无法操作jar包内容,所以我们只能将文件存放在…
项目是springboot+maven  打包用maven的插件package 下面是打包后的目录结构  project-1.0 和project-1.0.tar.gz是一样的  区别就是一个是压缩包 一个不是 以下是进入压缩包后的目录结构 这个hztech-framework 是我们公司自己手写的基础框架   问题就出现在这个jar包!!!! 把打包后的项目放到服务器上 进入容器内启动,出现 ./startup.sh: not found  原因是windows和linux编码格式不对应,解决…
背景 为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式. 假设项目以最常规的方式打包成一个整体的jar包部署,即配置文件和第三方依赖包都包含在jar包里,就会有如下两个问题 问题一:项目运行过程中,要改动配置文件的话需要重新打包并部署. 问题二:多个第三方依赖包都相近的项目要部署在同一台服务器时,各自的jar包都包含了相同的第三方依赖包(假设项目jar包有…
背景:springboot2为为主体搭建的项目,直接打成jar包,上传到linux上面 启动项目:java -jar xx.jar 这样很方便,但是不能关闭窗口,否则项目就停了 后台启动: nohup java -jar xx.jar & 这样就能后台启动了 有时候我们并不是部署单机版的,需要部署多个,可能部署到一台机器上,但是端口肯定得不一样吧,要是再重新打包一份就太麻烦了,我们可以在启动命令上加上启动端口参数 命令:nohup java -jar xx.jar --server.port=8…
Jar打包方式运行 类型为jar时 <packaging>jar</packaging> 1.使用命令mvn clean  package 打包 2.使用java –jar 包名运行 // -server -Xms256m -Xmx256m 设置jvm参数 初始化堆内存值和最大值 例:java -server -Xms256m -Xmx256m  -jar springboot_project.jar War打包方式 外部Tomcat运行 类型为war时 <packaging…
使用java -jar ***.jar执行jar包的时候,会找jar包中的main()方法. 对于SpringBoot项目的Jar包,在META-INF目录下的MANIFEST.MF文件中,Main-Class:org.springframework.boot.loader.JarLauncher是SpringBoot生成的类,Start-Class:com.example.mymiaosha4.Mymiaosha4Application是我们自己的运行类.当执行java -jar ***.ja…
最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官网:https://start.spring.io  .STS是Spring出的eclipse,是特殊版本的eclipse,对Spring Boot有很好的支持. eclipse也可以用来开发SpringBoot项目,但是需要安装STS插件. 方式①:在线创建 官网主页,在Quick Start中,点击超链接“start spring.io”进入https…
在项目的开发过程中有时我们需要引入我们本地的jar包,这些jar包没有存在maven仓库中 ,这时没有办法通过pom文件直接引入,在开发过程中我们可以通过add as library的方式,可以在开发的过程中使用,但是将项目打包成jar时,这些包并不会打包到jar中,项目就会报错. 那么我们怎么来处理这个问题呢,请看下面的操作: 在项目resource目录中创建个文件夹用来存放jar包,如:lib 在pom中添加如下内容 <dependency> <groupId>com.ckfi…
本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处描述的时打包成 jar 包后 Spring 配置类不为扫描.未注册Bean的问题. 解决方案 此处提供三种解决方案,友好型依次提升. 使用者手动配置 basePackages 使用者通过注解方式启用配置 SpringBoot 主动发现 正文开始 第一种:使用者手动配置 basePackages (对…