springboot 打包及 运行打包的 jar包

添加依赖

在Spring Boot项目中添加 spring-boot-maven-plugin 插件是为了支持将项目打包成可执行的可运行jar包。如果不添加 spring-boot-maven-plugin 插件配置,使用常规的java -jar命令来运行打包后的Spring Boot项目是无法找到应用程序的入口点,因此导致无法运行。

java 复制代码
<!-- SpringBoot应用打包插件 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
    </parent>

    <groupId>com.atguigu</groupId>
    <artifactId>boot-mybatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>

        <!-- 数据库相关配置启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- druid启动器的依赖  -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-3-starter</artifactId>
            <version>1.2.20</version>
        </dependency>

        <!-- 驱动类-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
        </dependency>

        <!-- springboot 使用aop -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
    </dependencies>

    <!--
        SpringBoot应用打包插件
            1、在SpringBoot项目中添加 spring-boot-maven-plugin 插件,
                是为了:支持将项目打包成可执行的可运行jar包,
            2、如果不添加 spring-boot-maven-plugin 插件配置,
                使用常规的 java -jar 命令来运行打包后的SpringBoot项目,是无法找到应用程序的入口点,
                因此导致无法运行。
    -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

然后

可以在编译的 target文件夹中查看jar包

运行 jar包

java -jar命令用于在Java环境中执行可执行的JAR文件。下面是关于java -jar命令的说明:

XML 复制代码
命令格式:java -jar  [选项] [参数] <jar文件名>
  1. -D<name>=<value>:设置系统属性,可以通过System.getProperty()方法在应用程序中获取该属性值。例如:java -jar -Dserver.port=8080 myapp.jar

  2. -X:设置JVM参数,例如内存大小、垃圾回收策略等。常用的选项包括:

    • -Xmx<size>:设置JVM的最大堆内存大小,例如 -Xmx512m 表示设置最大堆内存为512MB。
    • -Xms<size>:设置JVM的初始堆内存大小,例如 -Xms256m 表示设置初始堆内存为256MB。
  3. -Dspring.profiles.active=<profile>:指定Spring Boot的激活配置文件,可以通过application-<profile>.propertiesapplication-<profile>.yml文件来加载相应的配置。

    例如:java -jar -Dspring.profiles.active=dev myapp.jar

启动和测试:

注意: -D 参数必须要在jar之前!否者不生效!

相关推荐
爱喝白开水a1 天前
春节后普通程序员如何“丝滑”跨行AI:不啃算法,也能拿走AI
java·人工智能·算法·spring·ai·前端框架·大模型
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于Java的运动场地预约系统为例,包含答辩的问题和答案
java·开发语言
蜜獾云1 天前
Spring Cloud Hystrix 详细示-元一软件
java·spring cloud·hystrix
烛之武1 天前
SpringBoot 实战篇
java·spring boot·后端
lclcooky1 天前
Spring 核心技术解析【纯干货版】- XII:Spring 数据访问模块 Spring-R2dbc 模块精讲
java·后端·spring
李白的粉1 天前
基于springboot的相亲网站
java·spring boot·毕业设计·课程设计·相亲网站
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于 java web 的篮球赛事管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
aygh1 天前
Java八股文复习指南
java·面试·八股文·后端开发
小则又沐风a1 天前
类和对象(C++)---上
java·c++·算法
季明洵1 天前
动态规划及背包问题
java·数据结构·算法·动态规划·背包问题