2013-05-13 79 views
10

我使用Tomcat 7来部署我的Web项目。当使用Eclipse interface来启动和停止我的Tomcat时,我也更加舒适,因此我已将它添加到Eclipse's Servers中,并检查"Use Tomcat Installation" in Server Locations。我使用的另一件事是Tomcat's web Manager tool部署/取消部署项目。 。 我们知道为了使用Manager/HTML工具,你必须登录的用户名和认证密码在这样的是tomcat-users.xml中设置(在我的文件):使用Eclipse时,Tomcat 7重写tomcat-users.xml

<role rolename="tomcat"/> 
<role rolename="manager"/> 
<role rolename="manager-script"/> 
<role rolename="manager-gui"/> 
<role rolename="standard"/> 
<role rolename="admin"/> 
<user username="tomcat-eclipse" password="tomcat-eclipse" roles="tomcat,manager,manager-script,standard,admin"/> 
<user username="root" password="toor" roles="manager-gui" /> 

一切工作正常,直到某个时刻(我不知道,但也许经过几次重新启动或重新部署)我输入的配置被刷新,默认(空配置)文件覆盖我的自定义配置。

问:什么原因导致文件被覆盖,我该如何防止?谢谢。

编辑:
答:我根据一些实验表明的是:

  • 变种之一:更改Tomcat 7的tomcat-users.xml文件添加它到Eclipse 以前 。这是因为我怀疑当我使用“使用 Tomcat安装”选项时,Eclipse在其元数据文件夹 中复制了旧的tomcat-users.xml,稍后在Tomcat的安装目录中更改它时,它不会覆盖元数据。 然后,出于某种原因,当通过Eclipse运行服务器时,I 怀疑它检查文件是否相同,如果不是,则它将覆盖Tomcat安装文件夹中的tomcat-users.xml。
  • 使用“使用工作区元数据”选项。它是默认的。然后转到Eclipse的Package explorer - > Tomcat Server - > tomcat-users.xml,然后从那里进行更改。您还可以将your-tomcat-install-dir/webapps的内容复制到your-eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/,以便拥有漂亮的Tomcat html界面(如Tutorial: Installing Tomcat 7 and Using it with Eclipse所示)。

试试吧。 :)

+0

注意的Tomcat V7.0服务器:如果您使用工作区元数据选项,默认的tomcat主页(localhost:80) 80)不可用(请参阅http://stackoverflow.com/questions/2280064/tomcat-started-in-eclipse-but-unable-to-connect-to-http-localhost8085) 我只是偶然发现了这个 – Zuop 2017-03-07 10:31:48

回答

28

在Eclipse中,转至您的'Project Explorer'面板中的'Project'服务器以及文件夹'Tomcat v7.0 Server localhost-config'中(这是Tomcat服务器的默认名称,不同),在那里换乘的tomcat-users.xml中


工程资源管理器>“服务器的>在本地主机,配置>的tomcat-users.xml中

eclipse-screenshot

+0

谢谢你这个伟大的答案!两个小时后,这个答案终于解决了我的问题。 – eztam 2016-03-17 17:07:19

+0

很高兴帮助@eztam :) – 2016-03-21 19:53:33

+0

谢谢,真的很有用 – 2018-02-07 17:22:13