- 浏览: 493176 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
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 2923[size=large][size=large][size=l ... -
Ant与批处理(win环境)学习3
2011-04-10 23:48 1174此篇主要讲实践,大多数情况下是直接贴的代码了 ... -
VNC之代理
2011-03-27 22:48 2696[size=large] 背景:使用VNC客户端去连接DC上 ... -
1号~15号工作日志
2011-01-16 22:23 8501、 Flex的includeInLayout属 ... -
JAVA异常处理
2011-01-11 22:51 663在je上看到一篇有关异常处理的文章,觉得还不错... . ... -
Java配置项
2011-01-11 20:44 850背景:项目中有许多可选参数,这时如果采取硬编码的方式将非 ... -
offLineMap2工作日记之getBoolean
2011-01-06 23:25 7631、如字段不是get**开头的boolean 如: boole ... -
开发常用小工具集
2011-01-06 22:26 1973毕业也有半年了,我有幸能加入一家知名IT公司并从事时下最 ... -
Eclipse中阅读开源项目代码
2010-12-25 22:57 2680[size=large] 背景:由于最近较为系统地学习了 ... -
Eclipse调试深入
2010-12-25 18:59 1278背景:我个人的调 ... -
Java打包总结
2010-12-19 22:35 1372背景:最近下载了一 ... -
Ant与批处理(win环境)学习笔记(2)
2010-12-19 22:01 1183在《Ant与批处理(win环境)学习笔记》中学习了Ant的一些 ... -
Ant与批处理(win环境)学习笔记
2010-12-19 10:27 1412背景:最近个人附 ... -
JDK工具学习
2010-12-18 22:14 1001[size=large] 起因:在 ... -
Eclipse插件安装总结
2010-12-18 12:29 1167大学时一直使用的 ... -
使用Ant和Maven构建时出现OOM异常
2010-12-14 23:14 1731今日更新测试环境时报OOM错误(工程中使用了Ant和Ma ... -
JAVA技术见识集
2010-12-12 09:34 832[size=large] 将网上看到的一些适用于指定场景的 ... -
Eclipse异常集
2010-12-08 19:52 22471、 Eclipse异常说An internal Error ... -
将批处理文件注册成服务
2010-11-15 19:49 3506前两天完成了将java程序注册成win服务,如今本人有一 ...
相关推荐
NULL 博文链接:https://huanongkou.iteye.com/blog/2026008
解决内存溢出的问题,在使用myeclipse时候,经常遇到内存溢出的问题。
在使用myeclipse时,会遇到的常见问题在此word里基本都有介绍。
安装flex插件时,遇到的问题归纳为以下几种,或许对大家有帮助!
MyEclipse破解工具包及破解时可能遇到的问题解答
myeclipse2015运行tomcat时遇到的问题及解决方法
但是,有时候我们在安装 MyEclipse 时会遇到一些问题,例如安装报错、卸载不干净等。 安装 MyEclipse 的注意事项 在安装 MyEclipse 之前,我们需要注意一些重要的事项。首先,我们需要确保系统中不存在 MyEclipse ...
在使用 MyEclipse 的过程中,可能会遇到一些常见的问题,例如端口占用问题和 JVM 堆大小问题。这些问题可以通过使用 DOS 命令、任务管理器和修改 eclipse.ini 文件来解决。 MyEclipse 的安装和搭建过程非常简单,只...
对于MyEclipse安装新手来说,这个文档足以解决安装过程中遇到的问题。
这个是我个人在学习中遇到过的问题,希望能够帮大家解决一些问题
在myeclipse中会遇到很多问题,来解决一下吧!!
帮助解决使用MyEclipse期间所遇到的困难
当你的机子装了oricle软件和myeclipse软件后,myeclipse不能够正常使用请看这里
此文档是本人学习java过程中总结的一些关于MYSQL的简单使用,文档内容简单明了,有截图。 <br>文档包括:1....文档中还包括本人在学习中遇到的错误,读者注意这些错误以防遇到相似的错误时不知所措。
然而,在使用MyEclipse时,开发者们经常会遇到中文乱码的问题。这是因为MyEclipse的默认编码设置不支持中文字符,导致中文字符显示为乱码。那么,如何解决MyEclipse中文乱码问题呢? 一、检查MyEclipse的编码设置 ...
用于使用myeclipse的人群 更快捷、方便。 bug是程序员一定会遇到到、用myeclipse作开发工具的同仁。学着解决吧
在使用 MyEclipse 开发 Struts2+Hibernate 项目时,可能会遇到 jar 包缺失的问题,导致 Tomcat 启动时报错。本文将详细介绍该问题的原因和解决方案。 问题描述 在使用 MyEclipse 开发 Struts2+Hibernate 项目时,...
cmd下确实是可以把Tomcat启动的,所有问题肯定还是出在MyEclipse的配置上面。再次回到MyE,突然回想起以前遇到过Debug mode运行的时候,要是Eclipse中存在有断点的话,就无法正常启动Tomcat
解决卡机问题: 大多数javaman在使用myeclipse的过程中都遇到过代码提示卡死,假死机的状况。 进行下面的优化后,完全可以解决此问题。
myeclipse8.5安装velocity插件的方法以及遇到问题的解决方案。供大家参考指正。