`

使用myeclipse遇到的问题

阅读更多
    使用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的时候就不需要重启,部署完了直接开浏览器预览啦
分享到:
评论

相关推荐

    使用MyEclipse遇到的乱码问题解决

    在使用MyEclipse这款强大的Java集成开发环境时,开发者可能会遇到一个常见的问题——乱码问题。这主要体现在代码编辑器中显示的源代码字符编码不正确,或者在编译、运行过程中输出的文本出现乱码。本文将深入探讨...

    MyEclipse 插件常遇到的问题

    在使用MyEclipse进行开发的过程中,尤其是在安装Flex插件时,可能会遇到各种各样的问题。本文将针对这些常见问题进行归纳总结,并提供相应的解决方案,希望能够帮助到广大开发者。 #### 问题一:'Initializing ...

    myeclipse的常见问题

    总的来说,面对MyEclipse的使用问题,首要步骤是准确识别问题的根源,这通常涉及查看日志输出和错误消息。然后,你可以根据问题类型查阅官方文档、社区论坛或在线资源来寻找解决方案。保持MyEclipse和Tomcat的版本...

    myEclipse自动关闭问题

    在开发过程中,遇到诸如myEclipse自动关闭的问题时,开发者往往会感到非常困扰。这不仅打断了工作流程,还可能导致数据丢失或代码未保存等问题。本文将深入探讨myEclipse自动关闭的原因及解决方法。 #### 一、问题...

    myeclipse内存溢出问题

    在使用MyEclipse集成开发环境(IDE)进行项目开发时,开发者可能会遇到内存溢出的问题。这通常表现为应用程序运行过程中突然出现错误提示,导致程序崩溃或者无法正常运行。这类问题的发生往往与JVM(Java虚拟机)的...

    myeclipse10.7.1导出war包时问题解决办法

    然而,有时在使用MyEclipse进行WAR包导出过程中,可能会遇到一些问题,比如系统提示需要重新安装。针对这个问题,我们可以通过以下方法来解决。 标题中的“myeclipse10.7.1导出war包时问题解决办法”指的是在...

    MyEclipse 10出现的问题

    然而,用户在使用过程中可能会遇到各种问题,包括但不限于项目导入、编译、运行等方面。本篇将深入探讨MyEclipse 10中可能出现的一些问题以及对应的解决策略。 1. **项目导入错误**: - 当你尝试导入一个已有的...

    myeclipse 解决内存的问题

    在使用MyEclipse开发工具的过程中,用户可能会遇到性能下降的问题,比如启动速度变慢、响应时间加长等。这些问题通常与MyEclipse所占用的内存资源有关。本文将详细介绍如何优化MyEclipse的内存配置,从而提高其运行...

    myeclipse使用教程

    MyEclipse是一款流行的集成开发环境,主要面向Java开发者。它提供了许多功能来帮助开发者高效地编写、编译、测试和部署应用程序。...掌握了这些基础知识之后,相信用户可以更加得心应手地使用MyEclipse进行Java开发。

    MyEclipse内存不足问题

    当使用Eclipse运行JUnit测试用例时,如果遇到内存不足的问题,可以通过修改`Run`时的参数来解决。具体操作为:`Run -&gt; Run… -&gt; JUnit -&gt; AllTests`,然后在`Arguments`标签页下的`VMArguments`字段中输入如`-Xmx500...

    MyEclipse使用的SVN插件

    【MyEclipse SVN插件详解】 在软件开发过程中,版本控制是至关重要的,它帮助团队协同工作,跟踪代码更改,并确保代码库的...在使用过程中,如果遇到问题,可以通过查看插件的帮助文档或者在线搜索解决方案来解决。

    Myeclipse

    如果在激活过程中遇到问题,可以尝试以下解决方案: - 检查输入的用户名和密码是否正确。 - 确保网络连接畅通无阻。 - 如果问题仍然存在,联系官方技术支持寻求帮助。 ### 总结 通过上述介绍可以看出,在Myeclipse...

    解决myeclipse自动关闭问题.txt

    4. **系统兼容性问题**:有时候操作系统与MyEclipse之间可能存在兼容性问题,尤其是在使用新版本的操作系统时。 5. **配置错误**:例如启动参数配置不当等也可能导致此类问题。 #### 三、解决方案 ##### 1. 关闭...

    Myeclipse汉化包(含操作方法)

    7. **查阅汉化文档**:若遇到问题,可参考提供的`MyEclipse8.x 汉化 + doc 汉化(最新的).doc`文档,该文档通常会详细解释汉化过程和可能出现的问题,以及解决办法。 通过以上步骤,你应该能成功地将MyEclipse的...

    使用MyEclipse实现MapReduce

    在实现过程中,可能会遇到如编译错误、配置问题或运行时异常等挑战。解决这些问题需要熟悉Hadoop的配置文件,理解MapReduce的工作原理,以及具备良好的Java编程和调试技巧。此外,利用MyEclipse的集成开发环境特性,...

    一个很简单的Web应用来说明使用MyEclipse的Web服务器配置

    此外,文档还强调了如果读者在遵循教程过程中遇到困难,可以通过用户反馈部分向MyEclipse文档团队提供反馈。 ### 二、需求 对于使用MyEclipse进行Web服务开发,有几个基本的先决条件: 1. **MyEclipse Web ...

Global site tag (gtag.js) - Google Analytics