IntelliJ Idea Tomcat热插拔失败:未实现架构更改,VM不支持该操作

问题描述 投票:9回答:1

当我尝试在项目中使用更改的方法主体重新加载类(热交换)时,出现此错误。在一切正常之前,但是突然停止了,我不记得是什么原因了。奇怪的是,我有另一个项目具有相同的设置,并且方法主体的热插拔效果很好。

这里是不工作项目的配置:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9lWHNjRC5wbmcifQ==” alt =“在此处输入图像描述”>

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS85Q24yUS5wbmcifQ==” alt =“在此处输入图像说明”>“ >>

以及我的VM设置:

-XX:PermSize=512m
-XX:MaxPermSize=1024m
-Xms1024m
-Xmx2048m
-Dcatalina.home="C:\Programy\apache-tomcat-7.0.57"
-Djava.endorsed.dirs="C:\Programy\apache-tomcat-7.0.57\endorsed"
-javaagent:C:\Programy\apache-tomcat-7.0.57/lib/spring-instrument-3.1.2.RELEASE.jar
-Dspring.profiles.active=closeMonthTest
-Dnpk.jobs.enabled=true

这是我的[[正在工作

项目的配置:<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS90WXFDYS5wbmcifQ==” alt =“在此处输入图像描述”>“ >>

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9GdzlySi5wbmcifQ==” alt =“在此处输入图像描述”>

VM选项:

-XX:PermSize=512m -XX:MaxPermSize=1024m -Xms1024m -Xmx2048m -Dcatalina.home="C:\Programy\apache-tomcat-7.0.57" -Djava.endorsed.dirs="C:\Programy\apache-tomcat-7.0.57\endorsed" -javaagent:C:\Programy\apache-tomcat-7.0.57/lib/spring-instrument-3.1.2.RELEASE.jar -Dspring.profiles.active=test

当我尝试在项目中使用更改的方法主体重新加载类(热交换)时,出现此错误。在一切正常之前,但是突然停止了,我不记得是什么原因了。 ...
tomcat intellij-idea jvm jvm-hotspot hotswap
1个回答
9
投票
没有代码很难找到根本原因。但是,我可以编写一个人工测试用例,即使我只是更改方法主体,Java编译器也会创建综合方法:

public class Test { static class Inner { private void getPrivate(int i) { Thread.dumpStack(); } private void getPrivate() { Thread.dumpStack(); } } public static void main(String[] args) { Inner inner = new Inner(); inner.getPrivate(0); inner.getPrivate(); } }

© www.soinside.com 2019 - 2024. All rights reserved.