Spring Boot项目有哪几种方式运行呢?
下文笔者讲述SpringBoot项目的运行方法分享,如下所示
方式1:
直接java -jar的方式运行
方式2:
解压**.jar包
查看启动类 的位置
然后使用
java org.springframework.boot.loader.JarLauncher
方式3:
自定义启动类的位置
方式4:
使用maven插件
实现SpringBoot项目的启动
例:
java -jar直接启动Springboot
java -jar 文件名称.jar
解压jar包运行
将文件名称.jar解压后 BOOT-INF/ 存放class文件和依赖包 META-INF/ maven信息、程序启动入口和ClassPath信息 org/ Spring Boot提供的加载器、和启动类 查看META-INF/MANIFEST.MF, 得知启动类: Manifest-Version: 1.0 Implementation-Title: application Implementation-Version: 0.0.1 Built-By: Camus Implementation-Vendor-Id: ltd.camus Spring-Boot-Version: 2.1.6.RELEASE Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: ltd.camus.TileApiApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Created-By: Apache Maven 3.3.9 Build-Jdk: 1.8.0_111 -----运行------ java org.springframework.boot.loader.JarLauncher
自定义运行
复制BOOT-INF/lib至BOOT-INF/classes中 编写脚本命令: java -classpath .;.\lib\* ltd.camus.TileApiApplication # TileApiApplication是我们自己写的Spring Boot入口类 # lib文件夹后面记得加*, 否则无法加载jar包
使用插件
配置中: 只需修改启动类配置即可
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>2.0.0</version>
<executions>
<execution>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 生成linux, windows两种平台的执行脚本 -->
<platforms>
<platform>windows</platform>
<platform>unix</platform>
</platforms>
<!-- 根目录 -->
<assembleDirectory>${project.build.directory}/${project.artifactId}</assembleDirectory>
<!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
<repositoryName>lib</repositoryName>
<!-- 可执行脚本的目录 -->
<binFolder>bin</binFolder>
<!-- 配置文件的目标目录 -->
<configurationDirectory>conf</configurationDirectory>
<!-- 拷贝配置文件到上面的目录中 -->
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<!-- 从哪里拷贝配置文件 (默认src/main/config) -->
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 -->
<repositoryLayout>flat</repositoryLayout>
<useWildcardClassPath>true</useWildcardClassPath>
<encoding>UTF-8</encoding>
<logsDirectory>logs</logsDirectory>
<tempDirectory>tmp</tempDirectory>
<programs>
<program>
<id>${project.artifactId}</id>
<!-- 启动类 -->
<mainClass>gutsy.lin.Main</mainClass>
<jvmSettings>
<extraArguments>
<extraArgument>-server</extraArgument>
<extraArgument>-Xmx1G</extraArgument>
<extraArgument>-Xms1G</extraArgument>
<extraArgument>-Dapplication.version=${project.version}</extraArgument>
</extraArguments>
</jvmSettings>
</program>
</programs>
</configuration>
</plugin>
使用以上插件,将会出现以下目录
bin目录:
放置运行脚本,有Windows和Linux
conf目录:
放置配置文件和静态资源
lib目录:
放置我们开发的包和依赖包
注意事项:
此插件不能与spring-boot-maven-plugin共同使用
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


