使用Eclipse时,Tomcat 7会覆盖tomcat-users.xml

时间:2013-05-13 08:25:44

标签: eclipse configuration tomcat7

我正在使用Tomcat 7部署我的网络项目。使用Eclipse interface启动和停止我的Tomcat时,我也更舒服,因此我已将其添加到Eclipse's Servers并检查"Use Tomcat Installation" in Server Locations。我使用的另一件事是部署/取消部署项目的Tomcat's web Manager tool。 正如我们所知,为了使用Manager / html工具,您必须登录。用于身份验证的用户名和密码在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运行服务器时 怀疑它检查文件是否相同,如果不是那么 覆盖Tomcat安装文件夹中的tomcat-users.xml。
  • 使用“使用工作区元数据”选项。这是默认的。然后转到Eclipse的Package explorer - &gt;您的Tomcat服务器 - &gt; 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所示)。

试试吧。 :)

1 个答案:

答案 0 :(得分:33)

在Eclipse中,转到“Project Explorer”面板中的Project'Servers'和内部文件夹'localhost-config中的Tomcat v7.0 Server'(这是Tomcat服务器的默认名称,可能与您的略有不同)更改有tomcat-users.xml


Project Explorer&gt; '服务器&gt; tomcat v7.0服务器在localhost-config&gt; Tomcat的users.xml中

eclipse-screenshot