- 浏览: 490877 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wang1352083:
正在搭建tomcat源码.一会儿参照楼主经验搭建spring源 ...
Eclipse中阅读开源项目代码 -
w123456789zzzz:
谢谢你,问题解决了,楼主万岁!!
eclipse中如何安装插件 -
xiaoLee:
...
软件性能测试论文草稿 -
铃儿响叮当:
...
使用firefox调试js -
gogopengyou:
很细心啊
eclipse中如何安装插件
使用myeclipse也有两个月的时间了, 但是今天却碰到了一个问题:
重新部署myeclpse不生效, 要想使修改生效必须重启服务器。 请问这是为什么呀? ? ?
————————————网友解答————————————
1、 将Tomcat WEBapps目录下该应用的目录清除掉,再在控制台上重新部署一下; (我不是这个原因)
如果还是有问题,说明你的部署目录有问题,可能是因为工程改名,导致重新部署之后,还是用原来那个工程名称部署的。
2、 也许是页面缓存的问题:
页面中有:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
吗?没有的话,加进去试试吧。
3、
这个问题是一个很严重的问题,没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的软件环境,和程序配置是非常必要的。
虚拟机:java version "1.5.0_06"
Servlet Engine:Apache Tomcat/5.0.27
Eclipse:3.0.1
Myeclipse:3.8.3
应用程序情况:纯正的sertlet+jsp+javabean,数据库连接使用JDBC-ODBC桥连接Access数据库。没有使用任何第三方软件包,没有使用Struts,Spring,Hibernate。\WebRoot\WEB-INF\lib下是空的。
配置方法:
ie登陆http://Tomcat所在的服务器IP:8080/ -> 点超连接“Tomcat Administration”-> 输入用户名密码登陆 ->在左侧的功能树中 -> Tomcat Server -> Service(Catalina) -> Host(localhost) -> Context(/要修改的web项目) ->右侧新出现的页面中 ->Reloadable设置为true -> Save按钮 -> Commit Changes。
然后Tomcat日志显示:
debugging -- changes saved to conf/server.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml
- Removing web application at context path /admin
- unregistering logger Catalina:type=Logger,path=/admin,host=localhost
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\admin.xml
- Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
- Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
- Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
- Removing web application at context path /webdav
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\webdav.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml
……
这样,设置就生效了。
开发时,修改.java文件后,调用这个类时日志提示:
- Reloading this Context has started
这是正在重新加载修改后的.class文件。
O了。:)
PS:
如果没有进行这个设置,修改.java文件后,不抛出异常。系统使用没有修改的.java文件继续运行。
不同版本的Tomcat的配置方法是不同的。这里使用的是5.0.27
j2ee开发插件(这里使用Myeclipse),也可能导致热部署失效。因为插件必须要把编译好的.class文件从工作空间复制到Tomcat\webapps下的项目里。才能使Tomcat得到需要热部署的文件。
注意:如果项目中加入了Struts,Hibernate,Spring只类的第三方软件,可能导致热部署失效。
4、
有很多人用MyEclipse+Tomcat写Java应用的时候很喜欢写Jsp或Javascript的原因之一就是其只需要刷新一下页面,而不用重新部署到Tomcat就可以看到效果,其实在写代码的时候同样可以达到此效果:启动Tomcat时使用Debug按钮(绿色的有点像甲虫的按钮) ,就可以在写代码的时候直接保存然后刷新页面就可以看到效果!不用每次再去重新部署了!
————————————一个好的解决方案——————————————————————
用myeclipse对修改过的程序保存后,为什么不能实时反映到浏览器上,这个问题困扰我了很久,
现在有个办法对此进行修正:
现在只要设置一下 context.xml
1.找到 context.xml ,这个文件在 %catalina_home%\conf下
2.打开文件,在 <Context>标记上添加属性: antiJARLocking="true" antiResourceLocking="true"
3.保存,然后重启
修改后的context.xml如下:
<Context antiJARLocking="true" antiResourceLocking="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
红色部分就为增加的内容
在myeclipse中部署应用,然后对修改后的内容进行“redeploy”操作就行了
————————————————————————热部署——————————————————
所谓的热部署(热发布)(下面称为“热部署”),就是说,在web工程发布之后,不可避免的,会遇到修改BUG的问题。现在的热部署就是为了解决这个问题,其功能就是说:在不停止web服务的同时,对jsp和java类进行修改,修改后的效果同时还能够在页面上显示出来。节省了调试时间,提高了效率。不过,修改配置文件是个例外,如果对配置文件做修改,一定要重启web服务。
常用的web服务器一般为tomcat和jboss,现一一做介绍。
1.tomcat热部署
在tomcat中支持热部署有两种方式(在原理上来说,这两种方式是一致的,只是放的位置不同)
a)在catalina_base\conf\catalina\localhost\中依照manager.xml定义一个xml文件,比如我的项目称作sodoperation,我们就可以写一个sodoperation.xml,内容如下:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
其中,path指的是你在tomcat中的项目名称,就像manager一样,docBase是指你的项目所在的web目录。一直到欢迎页面为止(也就是web-inf的前一个目录)。但是一般来说,这个目录中最好不要有中文,如果有的话,可以在文件开始加入
<?xml version='1.0" encoding='utf-8' ?>来试一下,即整个文件变为:
<?xml version='1.0" encoding='utf-8' ?>
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
这样就可以了,如果用这种广告,同时使用myeclipse的部署的话,轻易不要remove,这样会使文件都会被删掉,不能持久。所以,建议使用第二种方法。
b)第二种方法和第一种方法在原理上是一致的,其区别就是位置的不同,这次在catalina_base\conf下的server.xml,在文件末加入:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
解释和上面一样,这种方法在启动tomcat后,会在catalina_base\conf\catalina\localhost\中加入一个与第一种方法的文件。这样保证,只要对server.xml不做修改,你可以随便对新生成的文件删除,对热部署没有任何问题
2.jboss热部署
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
a)修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上红色的部分,重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
重新部署myeclpse不生效, 要想使修改生效必须重启服务器。 请问这是为什么呀? ? ?
————————————网友解答————————————
1、 将Tomcat WEBapps目录下该应用的目录清除掉,再在控制台上重新部署一下; (我不是这个原因)
如果还是有问题,说明你的部署目录有问题,可能是因为工程改名,导致重新部署之后,还是用原来那个工程名称部署的。
2、 也许是页面缓存的问题:
页面中有:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
吗?没有的话,加进去试试吧。
3、
这个问题是一个很严重的问题,没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的软件环境,和程序配置是非常必要的。
虚拟机:java version "1.5.0_06"
Servlet Engine:Apache Tomcat/5.0.27
Eclipse:3.0.1
Myeclipse:3.8.3
应用程序情况:纯正的sertlet+jsp+javabean,数据库连接使用JDBC-ODBC桥连接Access数据库。没有使用任何第三方软件包,没有使用Struts,Spring,Hibernate。\WebRoot\WEB-INF\lib下是空的。
配置方法:
ie登陆http://Tomcat所在的服务器IP:8080/ -> 点超连接“Tomcat Administration”-> 输入用户名密码登陆 ->在左侧的功能树中 -> Tomcat Server -> Service(Catalina) -> Host(localhost) -> Context(/要修改的web项目) ->右侧新出现的页面中 ->Reloadable设置为true -> Save按钮 -> Commit Changes。
然后Tomcat日志显示:
debugging -- changes saved to conf/server.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml
- Removing web application at context path /admin
- unregistering logger Catalina:type=Logger,path=/admin,host=localhost
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\admin.xml
- Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
- Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
- Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
- Removing web application at context path /webdav
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\webdav.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml
……
这样,设置就生效了。
开发时,修改.java文件后,调用这个类时日志提示:
- Reloading this Context has started
这是正在重新加载修改后的.class文件。
O了。:)
PS:
如果没有进行这个设置,修改.java文件后,不抛出异常。系统使用没有修改的.java文件继续运行。
不同版本的Tomcat的配置方法是不同的。这里使用的是5.0.27
j2ee开发插件(这里使用Myeclipse),也可能导致热部署失效。因为插件必须要把编译好的.class文件从工作空间复制到Tomcat\webapps下的项目里。才能使Tomcat得到需要热部署的文件。
注意:如果项目中加入了Struts,Hibernate,Spring只类的第三方软件,可能导致热部署失效。
4、
有很多人用MyEclipse+Tomcat写Java应用的时候很喜欢写Jsp或Javascript的原因之一就是其只需要刷新一下页面,而不用重新部署到Tomcat就可以看到效果,其实在写代码的时候同样可以达到此效果:启动Tomcat时使用Debug按钮(绿色的有点像甲虫的按钮) ,就可以在写代码的时候直接保存然后刷新页面就可以看到效果!不用每次再去重新部署了!
————————————一个好的解决方案——————————————————————
用myeclipse对修改过的程序保存后,为什么不能实时反映到浏览器上,这个问题困扰我了很久,
现在有个办法对此进行修正:
现在只要设置一下 context.xml
1.找到 context.xml ,这个文件在 %catalina_home%\conf下
2.打开文件,在 <Context>标记上添加属性: antiJARLocking="true" antiResourceLocking="true"
3.保存,然后重启
修改后的context.xml如下:
<Context antiJARLocking="true" antiResourceLocking="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
红色部分就为增加的内容
在myeclipse中部署应用,然后对修改后的内容进行“redeploy”操作就行了
————————————————————————热部署——————————————————
所谓的热部署(热发布)(下面称为“热部署”),就是说,在web工程发布之后,不可避免的,会遇到修改BUG的问题。现在的热部署就是为了解决这个问题,其功能就是说:在不停止web服务的同时,对jsp和java类进行修改,修改后的效果同时还能够在页面上显示出来。节省了调试时间,提高了效率。不过,修改配置文件是个例外,如果对配置文件做修改,一定要重启web服务。
常用的web服务器一般为tomcat和jboss,现一一做介绍。
1.tomcat热部署
在tomcat中支持热部署有两种方式(在原理上来说,这两种方式是一致的,只是放的位置不同)
a)在catalina_base\conf\catalina\localhost\中依照manager.xml定义一个xml文件,比如我的项目称作sodoperation,我们就可以写一个sodoperation.xml,内容如下:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
其中,path指的是你在tomcat中的项目名称,就像manager一样,docBase是指你的项目所在的web目录。一直到欢迎页面为止(也就是web-inf的前一个目录)。但是一般来说,这个目录中最好不要有中文,如果有的话,可以在文件开始加入
<?xml version='1.0" encoding='utf-8' ?>来试一下,即整个文件变为:
<?xml version='1.0" encoding='utf-8' ?>
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
这样就可以了,如果用这种广告,同时使用myeclipse的部署的话,轻易不要remove,这样会使文件都会被删掉,不能持久。所以,建议使用第二种方法。
b)第二种方法和第一种方法在原理上是一致的,其区别就是位置的不同,这次在catalina_base\conf下的server.xml,在文件末加入:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
解释和上面一样,这种方法在启动tomcat后,会在catalina_base\conf\catalina\localhost\中加入一个与第一种方法的文件。这样保证,只要对server.xml不做修改,你可以随便对新生成的文件删除,对热部署没有任何问题
2.jboss热部署
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
a)修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上红色的部分,重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
发表评论
-
性能问题
2013-09-04 20:13 0<SERVICE CLASS=" ... -
ant中使用svn检出代码
2011-05-14 21:33 2917[size=large][size=large][size=l ... -
Ant与批处理(win环境)学习3
2011-04-10 23:48 1172此篇主要讲实践,大多数情况下是直接贴的代码了 ... -
VNC之代理
2011-03-27 22:48 2682[size=large] 背景:使用VNC客户端去连接DC上 ... -
1号~15号工作日志
2011-01-16 22:23 8461、 Flex的includeInLayout属 ... -
JAVA异常处理
2011-01-11 22:51 657在je上看到一篇有关异常处理的文章,觉得还不错... . ... -
Java配置项
2011-01-11 20:44 843背景:项目中有许多可选参数,这时如果采取硬编码的方式将非 ... -
offLineMap2工作日记之getBoolean
2011-01-06 23:25 7561、如字段不是get**开头的boolean 如: boole ... -
开发常用小工具集
2011-01-06 22:26 1969毕业也有半年了,我有幸能加入一家知名IT公司并从事时下最 ... -
Eclipse中阅读开源项目代码
2010-12-25 22:57 2671[size=large] 背景:由于最近较为系统地学习了 ... -
Eclipse调试深入
2010-12-25 18:59 1274背景:我个人的调 ... -
Java打包总结
2010-12-19 22:35 1366背景:最近下载了一 ... -
Ant与批处理(win环境)学习笔记(2)
2010-12-19 22:01 1173在《Ant与批处理(win环境)学习笔记》中学习了Ant的一些 ... -
Ant与批处理(win环境)学习笔记
2010-12-19 10:27 1407背景:最近个人附 ... -
JDK工具学习
2010-12-18 22:14 997[size=large] 起因:在 ... -
Eclipse插件安装总结
2010-12-18 12:29 1162大学时一直使用的 ... -
使用Ant和Maven构建时出现OOM异常
2010-12-14 23:14 1725今日更新测试环境时报OOM错误(工程中使用了Ant和Ma ... -
JAVA技术见识集
2010-12-12 09:34 830[size=large] 将网上看到的一些适用于指定场景的 ... -
Eclipse异常集
2010-12-08 19:52 22381、 Eclipse异常说An internal Error ... -
将批处理文件注册成服务
2010-11-15 19:49 3498前两天完成了将java程序注册成win服务,如今本人有一 ...
相关推荐
NULL 博文链接:https://huanongkou.iteye.com/blog/2026008
解决内存溢出的问题,在使用myeclipse时候,经常遇到内存溢出的问题。
在使用myeclipse时,会遇到的常见问题在此word里基本都有介绍。
安装flex插件时,遇到的问题归纳为以下几种,或许对大家有帮助!
MyEclipse破解工具包及破解时可能遇到的问题解答
myeclipse2015运行tomcat时遇到的问题及解决方法
对于MyEclipse安装新手来说,这个文档足以解决安装过程中遇到的问题。
这个是我个人在学习中遇到过的问题,希望能够帮大家解决一些问题
在myeclipse中会遇到很多问题,来解决一下吧!!
帮助解决使用MyEclipse期间所遇到的困难
当你的机子装了oricle软件和myeclipse软件后,myeclipse不能够正常使用请看这里
此文档是本人学习java过程中总结的一些关于MYSQL的简单使用,文档内容简单明了,有截图。 <br>文档包括:1....文档中还包括本人在学习中遇到的错误,读者注意这些错误以防遇到相似的错误时不知所措。
用于使用myeclipse的人群 更快捷、方便。 bug是程序员一定会遇到到、用myeclipse作开发工具的同仁。学着解决吧
cmd下确实是可以把Tomcat启动的,所有问题肯定还是出在MyEclipse的配置上面。再次回到MyE,突然回想起以前遇到过Debug mode运行的时候,要是Eclipse中存在有断点的话,就无法正常启动Tomcat
解决卡机问题: 大多数javaman在使用myeclipse的过程中都遇到过代码提示卡死,假死机的状况。 进行下面的优化后,完全可以解决此问题。
myeclipse8.5安装velocity插件的方法以及遇到问题的解决方案。供大家参考指正。
本人是参照如网上方法实现自动化汉化,但是用自带的.java文件汉化中间遇到了个问题,就是用java 命令执行之后,dos由于显示数据有限,覆盖了先前显示的很多内容,也就是说dos并不能一次性显示那么多的东西,并且dos...
MyEclipse2017,CI7破解文件及破解教程--2017年11月27日亲测破解成功,文档内附有MyEclipse2017CI7离线下载包,百度网盘下载地址 1. 解压MyEclipse2017CI7破解文件.rar文件 2. 打开“MyEclipse2017CI7破解文件”...
从 windows 切换到 ubuntu 遇到了各种myeclipse 的崩溃问题.不流畅问题. 运行速度慢问题,一条条解决后, 流畅开发一个月.
大多数javaman在使用myeclipse的过程中都遇到过代码提示卡死,假死机的状况。进行下面的优化后,完全可以解决此问题。