Eclipse的project的clean操作什么意思?
2017-06-21 16:00
661 查看
Eclipse的project的clean操作什么意思?
疑问1:每次在Eclipse开发的时候,修改了java文件,只需要重新启动Eclipse的server中的tomcat即可,tomcat会编译java文件成class文件并替换掉之前对应的class吗?
tomcat当然不会。
原以为:
你每次重启Eclipse中的tomcat的时候,其实是①Eclipse重新发布工程到tomcat(java编译成class并替换之前对应的class,就是在这个阶段完成的),②并启动tomcat的过程。
真相:
所以每次在Eclipse开发的时候,修改了java文件,只需要重新启动Eclipse的server中的tomcat即可。
这中间的过程是:
第一步: ctrl+s或者点击保存java代码,Eclipse就会自动编译class,并写入①workspace中工程所在位置的build\classes(如果没有改class,则写入;如果有改class,则替换并写入)。如:F:\Eclipse\workspace\testProject\build\classes\org\XXX\test。②tomcat下的工程所在位置的web_inf \ class中class对应的位置,如F:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp13\wtpwebapps\testProject\WEB-INF\classes\org\XX\test。
注意:如果java文件没有任何修改,点击保存或者ctrl+s,Eclipse是不会自动编译class的。
第二步:启动tomcat。
所以tomcat在这期间什么都没干,全是Eclipse干的。tomcat只负责startup.bat就行了。
疑问2:既然Eclipse会编译java文件成class文件并替换掉之前对应的class,那么为什么还要clean呢,clean的作用不也是删掉class文件,然后重新编译吗?
由于eclipse的编译是基于时间戳的判断机制的。因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译。
使用Build命令只会编译时间戳没有改变的类;
但是时间戳是个什么东西,网上的资料很少,所以无从知晓。不了了之
疑问3:所以要怎么确定某个java是不是被编译并替换掉之前的class了,即我的java代码明明修改了,为什么发布后工程的功能却还是修改前的老样子,好像并没有修改?
去tomcat下看发布的class文件,这个就是tomcat执行的class,然后反编译成java文件,看看改java文件是不是修改后的,如果不是,说明编译没有成功,执行clean(即删掉之前的class,然后重新编译并写入)。
疑问1:每次在Eclipse开发的时候,修改了java文件,只需要重新启动Eclipse的server中的tomcat即可,tomcat会编译java文件成class文件并替换掉之前对应的class吗?
tomcat当然不会。
原以为:
你每次重启Eclipse中的tomcat的时候,其实是①Eclipse重新发布工程到tomcat(java编译成class并替换之前对应的class,就是在这个阶段完成的),②并启动tomcat的过程。
真相:
所以每次在Eclipse开发的时候,修改了java文件,只需要重新启动Eclipse的server中的tomcat即可。
这中间的过程是:
第一步: ctrl+s或者点击保存java代码,Eclipse就会自动编译class,并写入①workspace中工程所在位置的build\classes(如果没有改class,则写入;如果有改class,则替换并写入)。如:F:\Eclipse\workspace\testProject\build\classes\org\XXX\test。②tomcat下的工程所在位置的web_inf \ class中class对应的位置,如F:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp13\wtpwebapps\testProject\WEB-INF\classes\org\XX\test。
注意:如果java文件没有任何修改,点击保存或者ctrl+s,Eclipse是不会自动编译class的。
第二步:启动tomcat。
所以tomcat在这期间什么都没干,全是Eclipse干的。tomcat只负责startup.bat就行了。
疑问2:既然Eclipse会编译java文件成class文件并替换掉之前对应的class,那么为什么还要clean呢,clean的作用不也是删掉class文件,然后重新编译吗?
由于eclipse的编译是基于时间戳的判断机制的。因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译。
使用Build命令只会编译时间戳没有改变的类;
但是时间戳是个什么东西,网上的资料很少,所以无从知晓。不了了之
疑问3:所以要怎么确定某个java是不是被编译并替换掉之前的class了,即我的java代码明明修改了,为什么发布后工程的功能却还是修改前的老样子,好像并没有修改?
去tomcat下看发布的class文件,这个就是tomcat执行的class,然后反编译成java文件,看看改java文件是不是修改后的,如果不是,说明编译没有成功,执行clean(即删掉之前的class,然后重新编译并写入)。
相关文章推荐
- eclipse中的project->clean做了什么
- Eclipse,执行project的clean操作,无效,即没有重新编译生成class文件
- eclipse中project->clean的作用是什么
- Eclipse中project的clean功能到底有什么作用?
- eclipse中project->clean、mvn clean 的作用是什么
- eclipse->project->clean…到底有什么用?
- eclipse中clean操作中如何将validating除去
- Eclipse新建项目dynamic web project与static web project有什么区别
- 在Eclipse中也不知道做了什么操作,不小心就把选中变量、方法时的高亮给弄没了
- eclipse --->project ----->clean... 选项
- eclipse工程clean project
- Eclipse中Project Explorer 和 Package Explorer有什么区别
- eclipse -->project-->clean作用
- eclipse工程clean project
- eclipse菜单里面的clean是干什么用的?
- eclipse 启动后,啥也不干,就一直在loading descriptor for XXX (XXX为工程名),,其他什么操作都不能操作。 如下图所示,保存文件也无法保存。 这个怎么办?一年好几天,什么都干不了!!!!!
- eclipse操作---改变编码方式(不同页面,project,某个文件,服务器发布目录)
- 在Android项目中,eclipse->project->clean之后 R文件消失 解决方法
- eclipse->project->clean 做用
- 2208_To and Fro(字符串操作,没什么意思)