2010-06-16 39 views
0

我正在使用NetBeans 6.8和Tomcat 6.0.xx.我创建了一个自定义领域并更新了NetBeans项目build.xml以将领域部署到Tomcat。当我调试项目时,NetBeans启动Tomcat服务器并为'manager/list'创建一个初始HTTP GET请求。 Tomcat慷慨地将此请求交给我的自定义领域进行身份验证。该请求被拒绝,并且NetBeans在输出窗口中显示以下错误:(注意:在NetBeans获取访问被拒绝后显示错误)自定义领域/从Netbeans 6.8 /第一个HTTP请求启动Tomcat 6.0

访问Tomcat服务器尚未获得授权。在服务器管理器的Tomcat定制器中使用“manager”角色设置正确的用户名和密码。

我有东西配置不正确吗?如何防止NetBeans发出此初始请求?

感谢, 德鲁

回答

1

所以我想通了这一点。我已经在conf/server.xml中的引擎级别(例如标签内)添加了自定义领域声明。因此,当NetBeans在Tomcat上启动我的应用程序时,NetBeans受我自定义领域的认证。解决方案是将领域标签放入主机元素内的上下文元素中。这里有一些关于server.xml中的元素的信息:一旦你完成了上述工作,下一个问题就是NetBeans做了一个叫做'in-place deployment'的奇特小夹具。这基本上意味着当它启动你的应用程序时,它将自己的上下文元素注入到Tomcat中。这将与刚才添加的server.xml上下文元素发生冲突。要解决这个问题,请从server.xml中删除上下文元素(我知道你刚刚添加了它)。在NetBeans项目目录中有一个文件web/META-INF/context.xml。将您的自定义领域元素声明放在这里。 NetBeans在启动时将此文件提供给Tomcat。

希望这会有所帮助。