Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Netbeans启动Tomcat失败_Java_Apache_Tomcat_Netbeans - Fatal编程技术网

Java 从Netbeans启动Tomcat失败

Java 从Netbeans启动Tomcat失败,java,apache,tomcat,netbeans,Java,Apache,Tomcat,Netbeans,我在从Netbeans IDE 7.4启动ApacheTomcat 6时遇到问题(在7.3版本中我也遇到了同样的问题。其他人提到,在其他版本中也存在此问题,如8.0等) 我做了什么: 删除已安装的Tomcat 7(如果不删除它,我也会遇到同样的困难) 添加新服务器,从ApacheTomcat网站下载(版本Apache-Tomcat-6.0.39,其他版本我也有同样的问题) 我的服务器位置:D:\apache tomcat netbeans 系统变量CATALINA\u HOME:D:\apac

我在从Netbeans IDE 7.4启动ApacheTomcat 6时遇到问题(在7.3版本中我也遇到了同样的问题。其他人提到,在其他版本中也存在此问题,如8.0等)

我做了什么:

  • 删除已安装的Tomcat 7(如果不删除它,我也会遇到同样的困难)
  • 添加新服务器,从ApacheTomcat网站下载(版本Apache-Tomcat-6.0.39,其他版本我也有同样的问题)
  • 我的服务器位置:D:\apache tomcat netbeans
  • 系统变量CATALINA\u HOME:D:\apachetomcat netbeans
  • 系统变量JAVA HOME:C:\Program Files\JAVA\jdk1.7.0\U 51\
  • tomcat用户:我让netbeans创建一个新用户,名为tomcat,密码为tomcat。添加服务器后打开{tomcat}\conf\tomcat-users.xml文件时,有关于我的用户的信息:

当我现在点击“开始”时,我看到“启动Tomcat失败了”

我的怀疑是:

  • 我作为管理员在Windows7上工作,所以我认为这不是文件权限的问题
  • 禁用代理没有帮助
  • 日志:只创建了一个日志文件:localhost.2014-03-06.log,该文件完全为空
  • “以管理员身份”启动Netbeans没有帮助

  • 在命令行中,一切正常,在正常或调试模式下启动(catalina.bat jpda start或startup.bat)没有问题

    • 要使NetBeans能够与tomcat交互,需要在
      tomcat users.xml
      文件中正确配置NetBeans中的用户设置。NetBeans可以自动执行此操作

      也就是说,在
      tomcat users.xml
      中,可以在
      ${CATALINA_HOME}/conf
      ${CATALINA_BASE}/conf
      中找到

    • 确保将用户(在netbeans中选择)添加到
      脚本管理器
      角色中
    • 例如,改变

      <user password="tomcat" roles="manager,admin" username="tomcat"/>
      
      实际上,netbeans联机帮助错误地指出:

      用户名-指定IDE用于登录服务器的manager应用程序的用户名用户必须与管理员角色关联。IDE第一次启动Tomcat Web服务器时,例如通过开始/停止菜单操作或通过从IDE执行Web组件,IDE会向
      Tomcat基本路径/conf/Tomcat users.xml
      文件中添加一个管理员用户,该用户带有随机生成的密码。(右键单击服务窗口中的Tomcat Web服务器实例节点并选择属性。在属性对话框中,基本目录属性指向
      Base dir
      目录。)
      Tomcat users.xml
      文件中的管理员用户条目与以下内容类似:

      角色应该是
      经理脚本
      ,而不是
      经理

      有关更完整的
      tomcat users.xml
      文件:

      <?xml version='1.0' encoding='utf-8'?>
      <tomcat-users>
        <role rolename="manager-script"/>
        <role rolename="manager-gui"/>
        <user password="tomcat" roles="manager-script" username="tomcat"/>
        <user password="pass" roles="manager-gui" username="me"/>
      </tomcat-users>
      
      
      

      上还有另一个不错的帖子,它至少影响到NetBeans 7.4到8.0.2版本。它是从8.0版开始报告的,并在NetBeans 8.1中修复。任何tomcat版本都会出现问题(7.0.56到8.0.28版本已确认)

      具体描述如下

      此问题还与提及以下错误输出的帖子有关:

      “127.0.0.1*”不被识别为内部或外部命令、可操作程序或批处理文件

      对于从zip文件安装的tomcat,我通过更改tomcat
      bin
      目录中的
      catalina.bat
      文件来修复它

      在您的
      catalina.bat
      文件中找到以下配置

      :noJuliConfig
      set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
      
      :noJuliManager
      set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"
      
      并通过删除双引号对其进行如下更改:

      现在保存更改,并从NetBeans中启动tomcat。

      这会影响:

      • 从8.5.3开始的所有Tomcat版本
      • Netbeans 8.1之前的所有版本(在Netbeans 8.2中是固定的)
      这是因为Netbeans没有“看到”tomcat已经启动,尽管它启动得很好

      我已经存档了

      变通办法 在HTTP/1.1的
      server.xml
      文件的
      Connector
      元素中,添加以下属性:
      server=“Apache Coyote/1.1”

      例如:

      
      
      原因 原因是在8.5.3之前,默认设置是将服务器头设置为apachecoyote/1.1,而从8.5.3开始,此默认设置现在已更改为空白。显然,Netbeans会检查此标头

      也许将来我们可以期待netbeans解决这个问题

      我可以追溯到文档中的更改

      :

      覆盖http响应的服务器头。如果设置,则值 对于此属性,将覆盖web服务器设置的任何服务器头 应用程序。如果未设置,则应用程序指定的任何值都是 已使用。如果应用程序未指定值,则没有服务器 标题已设置。“

      :

      覆盖http响应的服务器头。如果设置,则值 对于此属性,将覆盖Tomcat默认值和任何服务器头 由web应用程序设置。如果未设置,则为 已使用应用程序。如果应用程序未指定值,则 使用ApacheCoote/1.1。除非你是偏执狂,否则你不需要 这项功能。”


      这就解释了自8.5.3版以来需要显式添加服务器属性的原因。

      此外,代理设置很可能存在此问题

      任何没有克服TOMAT启动问题的人,-在NetBeans中尝试在工具->选项->常规选项卡中选择无代理


      这对我有帮助。

      我也有同样的问题,但上面的答案都不起作用。
      我的解决方案是恢复与Tomcat捆绑在一起的解决方案。

      这里的答案都没有解决我的问题(截至Febr)
      <?xml version='1.0' encoding='utf-8'?>
      <tomcat-users>
        <role rolename="manager-script"/>
        <role rolename="manager-gui"/>
        <user password="tomcat" roles="manager-script" username="tomcat"/>
        <user password="pass" roles="manager-gui" username="me"/>
      </tomcat-users>
      
      :noJuliConfig
      set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
      
      :noJuliManager
      set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"
      
      :noJuliConfig
      set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
      
      :noJuliManager
      set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%