`

myeclipse不能自动编译和发布问题

阅读更多

部署方式:通过myeclipse自动部署项目到tomcat的webapp文件夹下,不是通过修改tomcat的配置文件。

问题描述:修改.jsp、java等文件后,无法在浏览器中看到修改后的效果,需要重启tomcat,才可以看到。

原因:解压后的原context.xml文件中的context节点默认有两个属性:antiResourceLocking="true" antiJARLocking="true",即Tomcat的资源锁定和Jar包锁定策略。 当antiResourceLocking="true"时,tomcat每次启动时都会在temp目录下生成相应工程的临时文件,并把这些文件锁定,所以即使修改文件后,webapps文件夹下的修改时间会更新,但是temp文件夹下的修改时间是启动tomcate之前的修改时间。而用户在浏览器访问的资源却是temp下的,不是webapps下的。所以最终导致用户修改的效果无法在浏览器中看到。当antiResourceLocking=“false”后,temp目录下就不会生成临时文件了,这是用户访问的就是webapps下的资源了。

解决方法:查看tomcate/conf/context.xml中的 context节点。如果有antiResourceLocking这个属性,应该把他的值设为false。通过设置reloadable="true" 属性,该属性主要用于自动部署java文件的修改。

修改java文件后,点击保存,控制台应该会看到如下信息:

2011-09-27 1:07:11 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started

说明修改的java文件生效了。

问题延伸:

1、修改并保存jsp或java文件,查看myecipse工作空间和tomcat的webapp目录下对应的文件最后修改时间是否为最新。

2、如果工作空间中的.class文件修改时间不能更新,说明myeclipse设置有问题,导致java文件无法自动编译。勾选Project-->build autoMaticaly即可。

3、如果工作空间中对应的.class文件的修改时间是保存的时间,而tomcate中修改时间不变,说明myecipse配置有问题,可能是因为tomcate的运行模式不是debug mode

4、如果两者相应位置的.class的修改时间都是刚保存的时间,说明myeclipse设置没有问题,而是tomcat配置文件有问题。查看tomcate/conf/context.xml中的 context节点。如果有antiResourceLocking这个属性,应该把他的值设为false。

5、如果antiResourceLocking=“true”,说明tomcat锁定了资源文件,导致不能更新资源。
分享到:
评论

相关推荐

    《MyEclipse 6 Java 开发中文教程》前10章

    3.2.13手工和自动编译 61 3.2.14直接粘贴Java源码为类文件 61 3.2.15复制项目中的文件 61 3.2.16断点和调试器 62 3.2.17快速加入、删除jar包到Build Path 63 3.2.18查看当前类被哪些类引用 63 3.2.19设置编辑器字体...

    基于MyEclipse搭建maven+springmvc整合图文教程(含源码0

    本教程是基于MyEclipse环境下基于maven搭建的springmvc步骤(图文教程),文章结尾含有源码下载地址: 新建maven project File->New->Project 选择Maven Project 选择项目路径 Use default Workspace location默认...

    基于javaweb的小型超市信息管理(进销存)系统。开发工具为MyEclipse.zip

    API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...

    JAVA程序开发大全---上半部分

    本书内容主要来自作者多年的软件开发和教学、培训经验,通过实例由浅入深地介绍MyEclipse的基本应用,是一本强调实践技能的实用性指导图书。 本书内容丰富、技术全面、案例实用,而且所有的实例都以MyEclipse工程的...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    包含有完整的jar包和源代码,可以直接下载编译部署和运行,这是专门为我们实验室定制开发的。虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合...

    java版微信三级分销系统完整源码(带注释)

    本来是不打算开源出来的,只发布了编译后的代码,但是在网络上看到【汉三信息】反编译的代码,反编译的没有注释,所以想想还是直接发布源代码吧。 如果有需要JAVA服务器的话,可以访问网站进行购买: ...

    java 混淆工具,不可逆 jocky 也许是最好的了

    在应用的开发过程中,我们往往都会有一个Ant脚本,通过该脚本,能够对应用进行编译、打包、发布等一系列过程。因此,Jocky的最佳切入点便是对Ant的支持。 在Ant中使用Jocky非常简单: 1. 将lib\jocky-ant.jar ...

    Java项目开发与毕业设计指导

    安装JDK、配置环境变量,编译java源文件(可以用eclipse自动编译也可以手动命令行下编译),然后命令行下运行如下命令启动服务器端: java rmi.NetS 2000 (端口号为2000) 键入如下命令启动客户端: java...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位...

    基于J2EE框架的个人博客系统项目毕业设计论...

    更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位...

Global site tag (gtag.js) - Google Analytics