对于 Java 标准的 jar 文件来说,规定在一个 jar 文件中,我们必须要将指定 main.class 的类直接放置在文件的顶层目录中(也就是说,它不予许被嵌套),否则将无法加载,因此 Spring 要想启动加载,就需要自定义实现自己的类加载器去加载。 2.2.2 SpringBoot Jar 启动过程 那我们从哪里开始看起呢?是不是就从清单...
nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/test-0.0.1-SNAPSHOT.jar --spring.profiles.active=daily -verbose:class & 说明: --spring.profiles.active=daily, 这个可以在spring-boot启动中指定系统变量,多环境(测试、预发、线上配置)的...
由此可见:当使用java -jar 启动springboot jar包时是去找Manifast.MF文件中的Main-Class指定的类来启动项目。 有疑问?我们的springboot项目自己编写的启动类是com.zyf.eflying.security.SpringSecutiryApplication,而在ManiFest.MF文件中Start-Class指定的才是我们自己的,那么为什么官方只提到了Main-Class,而没有提及Sta...
nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/test-0.0.1-SNAPSHOT.jar --spring.profiles.active=daily -verbose:class & 说明: --spring.profiles.active=daily, 这个可以在spring-boot启动中指定系统变量,多环境(测试、预发、线上配置)的...
启动流程概览 首先,我们通过java -jar命令启动jar包,此时调用Launcher$AppClassLoader类加载器加载,此时涉及了MANIFEST.MF中Main-Class对应的属性 然后构建Spring Boot加载器,通过调用LaunchedURLClassLoader类加载器加载jar包中/BOOT-INF/classes/和/BOOT-INF/lib/*.jar文件 ...
java -jar main.jar -Dspring.profiles.active=prod # 指定application文件的后缀 -Dspring.config.location=config/ # 指定配置文件路径 -Dfile.encoding=UTF-8 # 指定文件编码 -Dlogging.config=config/logback.xml # 指定日志配置文件 -Dlogging.path=/data/log/ # 指定日志输出文件路径 ...
解压jar包:SpringBoot应用通常会被打包成一个可执行的jar包,当使用java -jar命令启动时,JVM会首先...
SpringBoot项目在开发中,方便快捷,有一点原因就是SpringBoot项目可以打jar包运行:把jar包直接扔服务器上,然后运行jar包就能访问项目接口了。下面介绍SpringBoot项目打jar包运行的步骤流程: 一、我们所熟悉的是在开发环境下,直接用开发工具来运行那个启动类,然后就能启动这个项目: ...
6 绑定机器启动 下载到classfinal-fatjar-1.2.1.jar[2]依赖,在当前依赖下cmd执行java -jar ...
到这里你是否懂通过spring-boot-maven-plugin插件打包的maven项目是如何通过java -jar启动我们的项目了吧,通过插件将spring需要的jar包打入我们的jar中,同时增加内部代码。配置MANIFEST.MF文件使java -jar时启动spring的JarLauncher中的main方法,通过JarLauncher来读取MANIFEST.MF文件,获取我们项目的启动类,并通过反射启动ma...