Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 11005|回复: 0

解决 Netbeans 下 Tomcat 服务器无法启动的问题

[复制链接]
  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 773 天

    [LV.10]以坛为家III

    2045

    主题

    2103

    帖子

    71万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    713646
    发表于 2021-4-14 09:39:34 | 显示全部楼层 |阅读模式

      最近在学习 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 文件,打开之后发现这个文件几乎是空的,因为绝大部分的内容被注释掉了。复制下列代码到这个文件中,覆盖原来的内容。代码如下:

    <?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”的用户。当然,这只是我的猜测,有兴趣的可以测试一下。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-8-12 11:28 , Processed in 0.063619 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表