idea热部署且开启自动编译的实现方法

实现 IDEA 热部署且开启自动编译的方法主要包括三个步骤,分别是:修改 pom.xml 文件、开启自动编译和开启热部署。

修改 pom.xml 文件

在 pom.xml 文件中添加 JRebel 插件和 Spring Boot 插件,如下所示:

    <build>
        <plugins>
            <!-- 非必需 -->
            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>1.8.0</version>
                <executions>
                    <execution>
                        <id>install node and npm</id>
                        <goals>
                            <goal>install-node-and-npm</goal>
                        </goals>
                        <configuration>
                            <nodeVersion>v14.18.0</nodeVersion>
                            <npmVersion>6.14.15</npmVersion>
                        </configuration>
                    </execution>
                    <execution>
                        <id>npm install</id>
                        <goals>
                            <goal>npm</goal>
                        </goals>
                        <configuration>
                            <arguments>install</arguments>
                        </configuration>
                    </execution>
                    <execution>
                        <id>npm-starter</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>npm</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <workingDirectory>src/main/frontend</workingDirectory>
                </configuration>
            </plugin>

            <!-- 必需 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <!-- JRebel 插件 -->
            <plugin>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <version>2.1.7</version>
                <executions>
                    <execution>
                        <id>generate-rebel-xml</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <classResources>
                                <resource>target/classes/</resource>
                            </classResources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

执行 Maven 的 Package 命令,在静态资源目录中就能生成 rebel.xml 文件,该文件就是 JRebel 会使用的 classpath 列表,也就是会热更新的 class 列表。

开启自动编译

在 IDEA 中打开 Preferences,找到 Build, Execution, Deployment -> Compiler。在页面中找到 Build project automatically,并勾选上。这样可以实现每次代码变化自动执行编译操作。

开启热部署

在 IDEA 中安装 JRebel 插件。安装完成之后,在 Run -> Edit Configurations -> VM options 中添加 -noverify -javaagent:/path/to/jrebel.jar,其中路径 /path/to/jrebel.jar 对应 JRebel 的插件路径。

配置完成后,重新启动应用程序,当代码发生变化时,就会自动执行编译并加载到应用程序中,从而实现热部署。

示例一:在 Spring Boot 应用中开启自动编译和热更新

  1. 添加 JRebel 插件和 Spring Boot 插件到 pom.xml 文件中

  2. 在 IDEA 中打开 Preferences,勾选 Build project automatically

  3. 在 IDEA 中安装 JRebel 并配置启动参数

示例二:在 React 应用中开启自动编译和热更新

  1. 在 pom.xml 文件中添加 JRebel 插件和 frontend-maven-plugin 插件

  2. 在 IDEA 中打开 Preferences,勾选 Build project automatically

  3. 在 IDEA 中安装 JRebel 并配置启动参数

  4. 利用 Webpack Hot Module Replacement 实现热更新

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:idea热部署且开启自动编译的实现方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 编码为GB2312网站让AJAX接收的数据显示支持中文

    为了让 AJAX 接收的数据支持中文,我们需要考虑两个方面:编码和显示。 编码 首先,我们需要将网站的编码设置为 GB2312。这可以通过在 HTML head 标签中添加以下代码实现: <meta http-equiv="Content-Type" content="text/html; charset=gb2312&q…

    Java 2023年6月15日
    00
  • Spring和Mybatis整合的原理详解

    以下是 “Spring和Mybatis整合的原理详解” 的完整攻略。 什么是Spring和Mybatis整合 Spring和Mybatis整合,指的是将Spring和Mybatis两个框架结合起来使用,达到更好的开发效率和更好的应用性能。Spring提供了IoC(控制反转)和AOP(面向切面编程)的支持,而Mybatis则提供了基于注解和XML配置的ORM(…

    Java 2023年5月20日
    00
  • Mybatis 自动映射(使用需谨慎)

    Mybatis 自动映射 (Auto-mapping) 是指Mybatis在进行 SQL 查询结果和Java对象映射时,自动查找Java对象对应属性名和SQL查询结果列名相同的项,并进行赋值。自动映射虽然能够简化开发工作,但也存在一些需要注意的地方,使用时需谨慎。 自动映射的配置方式 方式一: 自动映射全局开启 Mybatis提供了全局配置自动映射的方式,即…

    Java 2023年5月19日
    00
  • Java中代码的执行顺序

    结论 注意 只有显式的加载类 JVM才会加载到内存中 先加载父类的静态代码块 然后执行子类静态代码块 当前类存在类静态变量注意引用类型没进行赋值操作初始化为null 并不会显式的加载类又存在静态代码块 会先执行前者进行初始化 再执行静态代码块 在实例化类的时候 执行顺序 构造代码块–>构造方法存在父类先执行父类 注意 静态成员变量/静态代码块只在JV…

    Java 2023年4月23日
    00
  • Spring Boot Actuator监控的简单使用方法示例代码详解

    Spring Boot Actuator监控的简单使用方法示例代码详解 Spring Boot Actuator是Spring Boot提供的一个用于监控和管理Spring Boot应用程序的库。它提供了许多有用的端点,可以用于监控应用程序的运行状况、性能和健康状况等。在本文中,我们将详细讲解Spring Boot Actuator的使用方法,并提供两个示例…

    Java 2023年5月15日
    00
  • 用连接池提高Servlet访问数据库的效率(2)

    使用连接池可以有效提高Servlet访问数据库的效率,主要因为连接池可以减少数据库连接的创建和释放所花费的时间,以及避免因为连接未关闭而导致的数据库连接泄露问题。 以下是使用连接池进行Servlet访问数据库的攻略: 1. 导入数据库连接池依赖 使用连接池需要先导入对应的依赖包。常见的数据库连接池有C3P0、Druid等。以C3P0为例,可以使用以下Mave…

    Java 2023年6月15日
    00
  • javaweb在线支付功能实现代码

    下面是“javaweb在线支付功能实现代码”的完整攻略。 确定支付方式和接口 首先需要确定网站支持哪些支付方式,例如支付宝、微信支付等,然后根据支付方式找到相应的支付接口,例如支付宝的即时到账接口或者微信支付的统一下单接口。 创建订单 在用户确认需要支付时,需要创建对应的订单并保存到数据库中。订单包含以下信息: 订单号:唯一标识该订单 商品名称:用户购买的商…

    Java 2023年6月15日
    00
  • 详解SpringBoot中的tomcat优化和修改

    详解SpringBoot中的Tomcat优化和修改 在SpringBoot应用中,默认使用的是内嵌Tomcat服务器,可以通过对Tomcat进行优化和修改来提高应用的性能和稳定性。 Tomcat优化 线程池配置 Tomcat默认使用的是JDK自带的线程池,但是JDK自带的线程池在高并发的情况下性能并不强劲。 可以通过修改Tomcat的线程池配置来提高应用的性…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部