zoukankan      html  css  js  c++  java
  • idea编译即时生效配置 temp[临时开放]

    IDEA修改java源码不用重启直接生效配置

    参考 : IDEA SpringBoot 热部署+html修改无需make自动刷新==>https://my.oschina.net/yejunxi/blog/845752

    spring boot热部署,修改java代码不重启==>https://blog.csdn.net/lmx125254/article/details/81477664

    1. 给项目的pom.xml添加spring-boot-devtools插件依赖

    复制代码
    <!-- springboot热布署工具 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>true</scope>
        <!-- 这个需要为 true 热部署才有效 ,另外虽然虚拟机重启快很多,但是看到日志打印还是很不爽,
        可以在application.yml或application.properties中配置spring.devtools.restart.enabled=false让修改java代码不重启也也直接生效. -->
        <optional>true</optional>
    </dependency>
    
    
    <build>
        <plugins>
            <!-- 这个插件,可以将应用打包成一个可执行的jar包,如果不添加该插件 ,则执行时报错: .springbootdemo-0.0.1-SNAPSHOT.jar中没有主清单属性 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.example.demo.MySpringBootApplication</mainClass>
                    <fork>true</fork> <!-- 如果没有该配置,devtools可能不会生效 -->
                </configuration>
            </plugin>
        </plugins>
    </build>
    复制代码

     在idea中建springboot初始化项目时也可以直接选中

    2. File | Settings | Build, Execution, Deployment | Compiler | Build project automatically 打勾

    另外建议开启自动导包功能    File | Settings | Editor | General | Auto Import | Insert imports on paste All

     

    其实上面的操作就是就是项目刚建立时, idea弹出的 Enable Auto-Import ,所以一开始要是没有选择, 也可以手动去开启自动编译 , 当然前提是那个Show import popup

    3. Shift+Ctrl+Alt+/  启用 compiler.automake.allow.when.app.running 

    4.application.properties中配置

    # 在pom.xml中添加spring-boot-devtools后,配置修改java代码不重启也生效
    spring.devtools.restart.enabled=false
    #设置重启的目录,添加那个目录的文件需要restart
    spring.devtools.restart.additional-paths=src/main/java
    #排除那个目录的文件不需要restart
    #spring.devtools.restart.exclude=static/**,public/**

    5. IDEA修改文件直接自动更新

    右上角 Edit Configurations... | On 'Update' action 和 On frame deactivation | 都改成 Update classes and resources

    经过亲测, 发现On frame deactivation 改成 Update classes and resources才真正有效,所以修改java代码真正编译的触发时机在切换到非IDEA应用时,

    而此时如果你的操作过快 ,可能尚未编辑完全 ,还会是原来的代码 , 导致你以为修改未生效。

    也就是说切换到浏览器后不建议马上操作, 最好隔2秒左右让IDEA 编译一下java源码, 当然如果手动按CTRL+F9的话, 那就没有任何问题了。

    而On 'Update' action 在配成 Update classes and resources后 ,修改java源文件还是不能重动编译, 只有静态资源文件有效果 , 按道理手动CTRL + S 后就触发编辑才是完美状态 , 但事实并非如此 。

    (当然以上现象有可能仅是个人电脑现象, 不代表众生相)

     Idea--Tomcate配置中的On Upate Action 与 On Frame Deactivation==》https://www.cnblogs.com/zhangguangju/p/7027904.html

    IDEA 服务器热部署详解(On Update action/On frame deactivation)==》https://blog.csdn.net/w15321271041/article/details/80597962

    6. 根据上述5步操作, 在eclipse中只需要1 pom.xml配置 和 4 devtool属性配置成false就行了,已亲测验证,不过不要忘了eclipse中Project Build Automatically 下面这个勾可得打卡, 当然这只是额外补充,一般没有傻子会把它取消掉。

    感觉空虚寂寞,只是因为你无所关注,无处付出。
  • 相关阅读:
    C# 调用cmd执行指令
    如何发布 silverlight wcf 简单易学
    C#读取特定目录下的所有文件
    用批处理bat一次安装所有的系统更新补丁
    动态创建datagrid序号
    学习DIV+CSS一个最简单的布局一行三列DIV代码!
    highslide图片查看特效
    相册程序mageVue
    让Apache支持ASP.NET
    ASP.NET四种页面导航方式之比较与选择
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/15239028.html
Copyright © 2011-2022 走看看