java中,我每次使用Eclipse进行调试时,都遇到这种问题,是怎么回事,正确操作是怎么样 ,求解
4个回答
展开全部
很正常啊,这个警告当然不能忽略。你是不是做的java web项目的开发?
所谓热代码或者叫热发布,意思就是你把工程发布到服务器上,服务器已经启动了。这个时候你修改了工程中的代码,代码编译生成了新的class文件,你不重新启动服务器,直接把新的class文件发布到服务器上,服务器这个时候会自动使用新的class文件。
出现这个警告说明服务器无法替换使用新的class文件,也就是说你调试过程中修改的代码无法发布到服务器上。这个时候如果你选择继续,那你修改的结果是不会得到体现的。必须重新启动服务器,你修改的内容才会有所反应。
至于为什么有的时候能热发布,有的时候不能,我就不清楚了。
所谓热代码或者叫热发布,意思就是你把工程发布到服务器上,服务器已经启动了。这个时候你修改了工程中的代码,代码编译生成了新的class文件,你不重新启动服务器,直接把新的class文件发布到服务器上,服务器这个时候会自动使用新的class文件。
出现这个警告说明服务器无法替换使用新的class文件,也就是说你调试过程中修改的代码无法发布到服务器上。这个时候如果你选择继续,那你修改的结果是不会得到体现的。必须重新启动服务器,你修改的内容才会有所反应。
至于为什么有的时候能热发布,有的时候不能,我就不清楚了。
追问
听说过 的,老师没讲,没办法,能详细些吗?
追答
这还不详细啊。举个例子吧,比如你使用的是tomcat服务器。你把工程编译完成以后,发布tomcat上,这个时候tomcat会把你编译好的class文件复制到自己的文件夹下(jsp,html什么的就不说了,机制不同),然后启动tomcat。这个时候tomcat会把类加载进来,网页上发出请求,tomcat就会找到对应的类,实例化,然后运行出结果返回网页。你调试的时候,如果修改了某个类,发布到tomcat上,这个时候tomcat就会用新的class去替换原来已经加载进来的class。所以你这个时候网页上再发出请求,就会得到新的结果。你的这个警告就是说tomcat没有办法在不启动的情况下去替换这个class文件,你需要重新启动,tomcat才能重新加载class,你才能得到你想要得结果。是否需要重新启动就看tomcat是否能热发布,你是控制不了的。
展开全部
换个版本
追问
我换成了最新版本还是一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在调试时,修改了java源文件,编译后就会出现这个了,选中不显示就可以了,下次不会出现了。
追问
在哪了修改,地址。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
飘过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询