解决 Netbeans 下 Tomcat 服务器无法启动的问题
2013-05-18 23:42
561 查看
最近在学习 Java Web 编程,由于 Java 官方(现在应该是 Oracle)的 IDE NetBeans 集成了各种框架,所以为了入手简单,我就是用它了。
在 Netbeans 中新建一个 Java Web 工程后,点击运行测试发现不停的弹出 Tomcat 的用户名密码验证框,然后输入在 Netbeans 中配置的用户名和密码,几次(应该是 5 次)之后,Apache Tomcat 窗口就会输出如下的警告信息:
WARNING: An attempt was made to authenticate the locked user "用户名"
然后在控制台显示:
部署错误: 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。
有关详细信息, 请查看服务器日志。
总而言之就是无法正常。
Google 一下这条警告信息,发现都没有说到点子上,也没有找到有效的解决方法。后来我自己摸索解决了,就在这里和大家分享一下。
其实控制台上给出的错误提示已经把原因说的很清楚了,只是新手的话,恐怕一下子也无法理解其中的含义,而网络上的高手有不会意识到居然会在这个地方错误,才导致很多新手在这里迷惑。错误提示说:“请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。有关详细信息, 请查看服务器日志。” 解决方法很简单,就是在 Tomcat 中创建一个角色为“manager-script”的用户。
创建方法如下:在 Tomcat 目录下,找到 conf 文件夹的 tomcat-users.xml 文件,打开之后发现这个文件几乎是空的,因为绝大部分的内容被注释掉了。复制下列代码到这个文件中,覆盖原来的内容。代码如下:
事实上,如上内容正是网络上的给出的,但是问题仍然没有解决。但是看到这里,我想应该自己也能解决了,如果还不能自己想到解决方法,那就不要学编程了。如上内容虽然创建了三个用户,并且各自具有不同的角色(role),但是并没有 Netbeans 所要求的“manager-script”,所以再添加一个角色为“manager-script”的用户名,并填到 Netbeans 中的 Tomcat 服务器属性设置中,问题自然就解决了。例如:
值得注意的是,可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,其实这正是才生这个问题的根本原因:编辑这个文件是需要管理员权限(即本文所讨论的问题是在 Windows 下发生的)。究其原因,是因为把 Tomcat 发行包放到了一个需要管理员权限才能修改的位置,比如:系统盘的 Program Files 目录下。解决方法有两个,一是为 Tomcat 搬家,二是关掉 Windows 的 UAC 提示(滑杆拉到最底下然后重启)。我选择的是第二种。我想之所以会出现本文所讨论的问题,大概也是这个原因,即 Netbeans 在自动配置时没有权限修改这个文件,否则的会就会自动创建一个角色为“manager-script”的用户。当然,这只是我的猜测,有兴趣的可以测试一下。
在 Netbeans 中新建一个 Java Web 工程后,点击运行测试发现不停的弹出 Tomcat 的用户名密码验证框,然后输入在 Netbeans 中配置的用户名和密码,几次(应该是 5 次)之后,Apache Tomcat 窗口就会输出如下的警告信息:
WARNING: An attempt was made to authenticate the locked user "用户名"
然后在控制台显示:
部署错误: 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。
有关详细信息, 请查看服务器日志。
总而言之就是无法正常。
Google 一下这条警告信息,发现都没有说到点子上,也没有找到有效的解决方法。后来我自己摸索解决了,就在这里和大家分享一下。
其实控制台上给出的错误提示已经把原因说的很清楚了,只是新手的话,恐怕一下子也无法理解其中的含义,而网络上的高手有不会意识到居然会在这个地方错误,才导致很多新手在这里迷惑。错误提示说:“请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。有关详细信息, 请查看服务器日志。” 解决方法很简单,就是在 Tomcat 中创建一个角色为“manager-script”的用户。
创建方法如下:在 Tomcat 目录下,找到 conf 文件夹的 tomcat-users.xml 文件,打开之后发现这个文件几乎是空的,因为绝大部分的内容被注释掉了。复制下列代码到这个文件中,覆盖原来的内容。代码如下:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </tomcat-users>
事实上,如上内容正是网络上的给出的,但是问题仍然没有解决。但是看到这里,我想应该自己也能解决了,如果还不能自己想到解决方法,那就不要学编程了。如上内容虽然创建了三个用户,并且各自具有不同的角色(role),但是并没有 Netbeans 所要求的“manager-script”,所以再添加一个角色为“manager-script”的用户名,并填到 Netbeans 中的 Tomcat 服务器属性设置中,问题自然就解决了。例如:
<role rolename="manager-script"/> <user username="eSHOPPING" password="1234" roles="manager-script"/>
值得注意的是,可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,其实这正是才生这个问题的根本原因:编辑这个文件是需要管理员权限(即本文所讨论的问题是在 Windows 下发生的)。究其原因,是因为把 Tomcat 发行包放到了一个需要管理员权限才能修改的位置,比如:系统盘的 Program Files 目录下。解决方法有两个,一是为 Tomcat 搬家,二是关掉 Windows 的 UAC 提示(滑杆拉到最底下然后重启)。我选择的是第二种。我想之所以会出现本文所讨论的问题,大概也是这个原因,即 Netbeans 在自动配置时没有权限修改这个文件,否则的会就会自动创建一个角色为“manager-script”的用户。当然,这只是我的猜测,有兴趣的可以测试一下。
相关文章推荐
- eclipse部署tomcat服务器无法启动问题的解决方法
- 初步解决MyEclipse 2015启动tomcat服务器时, jar包无法发布到tomcat lib目录下的问题
- 解决tomcat服务器无法启动-java.net.BindException 端口被占用问题
- 解决eclipse部署tomcat服务器无法启动的问题
- "无法在web服务器上启动调试,不具备调试此程序的权限" 问题解决
- 由于mysql数据库服务问题引起的eclipse中的Tomcat无法启动解决方法
- 帮你解决iis安装后无法启动和出现http 500内部服务器问题(xp_sp2 iis5.1)
- xmapp无法启动Apache、Tomcat无法启动问题解决
- xmapp无法启动Apache、Tomcat无法启动问题解决
- 关于VS调试Web 无法启动IIS Express Web 服务器的问题解决
- CentOS 7下Tomcat启动后无法启动问题解决方法
- 关于tomcat服务器启动过慢问题的解决
- Windows系统下Apache服务器无法启动的问题解决
- [Linux问题解决] tomcat 启动正常,局域网无法访问
- 无法在WEB服务器上启动调试,问题解决办法
- 解决RPM安装的MySQL大小写敏感导致的Tomcat后台服务无法启动问题
- tomcat服务器内存不足导致的无法连接服务器问题解决方法
- 解决centos7下tomcat启动正常,无法访问项目的问题
- 不使用软件及硬件,电脑启动wifi,解决移动端通过电脑绑定host,无法访问服务器问题
- 解决tomcat无法启动问题-----收集