eclipse修改server.xml

(转)Eclipse for j2ee 中启动Tomcat服务器时Server.xml被还原的解决办法

为了将自定义路径的web项目发布到Tomcat服务器,我们需要修改conf文件夹下的server.xml,如在Host中添 加<Context path="/brball" docBase="E:\JavaWeb\brball\WebContent" />标签,但是我在使用eclipse-jee-kepler这个版本时,每次打开Eclipse,启动Tomcat服务器,server.xml 文件都会被还原,刚刚保存的<Context>标签不见了,导致服务器找不到对应资源,出现404错误,于是我一直用一个笨方法,就是提前备 份好server.xml文件,然后再替换被还原的文件,这样也行得通,但是麻烦,今天随便鼓捣了一下Eclipse,终于发现了server.xml被 还原的原因,原来Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但是我的项目是自己手动在外面部署 的,Eclipse只认得在它里面部署的项目,因此它会创建一个新的server.xml文件覆盖原来的文件,里面只有Eclipse中部署的项目,既然 如此,我们只要取消掉自动发布功能即可。

【我,采用自定义的web部署方式】

在D:\atool\apache-tomcat-7.0.52\conf\Catalina\localhost\ 应用名.xml

有时候,我们需要在应用名.xml 添加一些外部的数据源或者其他,然后在eclipse里面的

此时,eclipse会率先自动发布它的配置,所以每次重启,我们的应用名.xml都被还原成最初eclipse设置的模样了。

解决办法 :

依次选择 Window-Preferences-Server-Launching,取消Automatically publish wen starting servers,点击OK,搞定。

上面这种方法,导致eclipse不再自动编译和生成项目目录了,弊大于利。


===


关于eclipse和tomcat遇到的context.xml不同步问题

时间:2010-03-08 23:47  点击:1414次  字体:[ 大  中  小]




在用context.xml时,我直接在tomcat的conf里的context.xml中加的 resource代码,后来运行了,后来又修改了 context.xml中的用户名密码之类,结果运行结果就不对了,调试发现用户名和密码没有改过来。原来不同步,于是在tomcat中找原因,貌似用 eclipse开发时,工程不会部署到tomcat中,所以我一直找不到原因。最后我发现在eclipse的workspace中在系统自带的文件夹中有 context.xml,于是修改之,结果对了。 

原来eclipse的原因,它帮我们存了context.xml,但是后来我们只改了tomcat里的context.xml,但是运行起来又是eclipse中的那个context.xml被执行,所以不同步。 
但 是还有一个问题,eclipse怎么知道我需要的context.xml是什么?我又没有新建context.xml啊?可能是我在工程的 web.xml中写了resource-ref涉及到了tomcat中context.xml的resource,建立了对应关系,自动提取出来的。后来 我觉得是直接tomcat中的context.xml复制过来的。



我的理解:

tomcat 整合到eclipse,但是eclipse是不会对原来tomcat的系统级文件进行变更的。

每次重启应用的时候,eclipse都保存一份tomcat的默认配置,如果人为修改tomcat的context.xml和server.xml或者 confi/localhost/app.xml, 只要点击eclipse里面的tomcat重启按钮,都会自动把eclipse的关于tomcat配置覆盖过去。

      如果禁止eclipse的自动刷新项目和配置的话,那么eclipse就不再会自动编译和在部署目录生成相应文件和目录了。

鉴于,我们可能需要引用外部的资源,需要手动改tomcat的配置文件。所以不推荐直接使用eclipse里面的server :tomcat。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值