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共同使用
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。