You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetBeans 17中以tomcat用户运行Tomcat 9的启动故障排查

在NetBeans 17中以tomcat用户运行Tomcat 9启动Java EE项目的问题

问题概述

希望在NetBeans 17中启动Java EE项目时,让Tomcat 9以tomcat用户运行(当前默认使用登录用户robtot),但出现日志文件权限错误,且Tomcat启动失败。

日志权限错误信息

...
Starting service [Catalina]
Starting Servlet engine: [Apache Tomcat/9.0.58 (Ubuntu)]
Failed to open access log file [/usr/share/tomcat9/logs/localhost_access_log.2023-03-20.txt] Note: running as user [robtot]
java.io.FileNotFoundException: /usr/share/tomcat9/logs/localhost_access_log.2023-03-20.txt (Permission denied)
...

备注:已将用户robtot加入tomcat组。

Tomcat启动失败信息

「TestProject (debug)」日志输出:

Starting Tomcat process...
Waiting for Tomcat
Starting of Tomcat failed.
/home/TestProject/server/nbproject/build-impl.xml:1196: Starting of Tomcat failed.

对应build-impl.xml第1196行(调试部分):

<target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" description="Debug project in IDE." if="netbeans.home" name="debug">
<nbstartserver debugmode="true"/> <!-- THIS IS LINE 1196 -->
<antcall target="connect-debugger"/>
<nbdeploy clientUrlPart="${client.urlPart} debugmode="true" forceRedeploy="true"/>
<antcall target="debug-display-browser-old" />
<antcall target="debug-display-browser"/>
<antcall target="connect-client-debugger"/>
</target>

目录权限与所有者信息

/usr/share/tomcat9

drwxr-xr-x root tomcat bin/
lrwxrwxrwx root tomcat conf/
-rw-r--r-- root tomcat default.template
drwxr-xr-x root tomcat etc/
drwxr-xr-x root tomcat lib/
-rw-r--r-- root tomcat logrotate.template
lrwxrwxrwx tomcat tomcat logs
lrwxrwxrwx tomcat tomcat temp
lrwxrwxrwx tomcat tomcat webapps
lrwxrwxrwx tomcat tomcat work

/etc/tomcat9

drwxrwxrwx root tomcat Catalina/
-rwxrwxrwx root tomcat catalina.properties
-rwxrwxrwx root tomcat context.xml
-rwxrwxrwx root tomcat jaspic-providers.xml
-rwxrwxrwx root tomcat logging.properties
drwxrwxrwx root tomcat policy.d/
-rwxrwxrwx root tomcat server.xml
-rwxrwxrwx root tomcat tomcat-users.xml
-rwxrwxrwx root tomcat web.xml

/usr/share/tomcat9/logs

-rwxrwxrwx  1 tomcat tomcat   2129 Mar  9 13:38 catalina.2023-03-09.log.gz*
-rwxrwxrwx  1 tomcat tomcat    733 Mar 14 18:39 catalina.2023-03-14.log.gz*
-rwxrwxrwx  1 tomcat tomcat   1613 Mar 15 14:19 catalina.2023-03-15.log.gz*
-rwxrwxrwx  1 tomcat tomcat   3768 Mar 16 13:43 catalina.2023-03-16.log.gz*
-rw-r-----  1 tomcat tomcat   4958 Mar 17 11:18 catalina.2023-03-17.log.gz
-rw-r-----  1 tomcat adm     35438 Mar 20 08:04 catalina.2023-03-20.log
-rwxrwxrwx  1 tomcat tomcat  32483 Mar 20 08:04 catalina.out*
-rwxrwxrwx  1 syslog adm    311661 Mar 20 07:21 catalina.out.1*
-rwxrwxrwx  1 syslog adm      1909 Mar 12 07:16 catalina.out.2.gz*
-rwxrwxrwx  1 tomcat tomcat     45 Mar  9 10:28 localhost.2023-03-09.log.gz*
-rwxrwxrwx  1 tomcat tomcat     45 Mar 15 14:03 localhost.2023-03-15.log.gz*
-rwxrwxrwx  1 tomcat tomcat     45 Mar 16 08:00 localhost.2023-03-16.log.gz*
-rw-rw-r--  1 tomcat tomcat     45 Mar 17 09:52 localhost.2023-03-17.log.gz
-rw-r-----  1 tomcat adm         0 Mar 20 07:21 localhost.2023-03-20.log
-rwxrwxrwx  1 tomcat tomcat     56 Mar  9 10:28 localhost_access_log.2023-03-09.txt.gz*
-rwxrwxrwx  1 tomcat tomcat     56 Mar 15 14:03 localhost_access_log.2023-03-15.txt.gz*
-rwxrwxrwx  1 tomcat tomcat   3074 Mar 16 13:37 localhost_access_log.2023-03-16.txt.gz*
-rw-r-----  1 tomcat tomcat   5542 Mar 17 14:34 localhost_access_log.2023-03-17.txt.gz
-rw-r-----  1 tomcat adm       875 Mar 20 07:22 localhost_access_log.2023-03-20.txt

Tomcat配置文件内容

server.xml日志设置

<Valve className=org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b@ /&gt;

server.xml Connector配置

<Connector protocol="AJP/1.3" address="::1" port="8009" server="Apache-Coyote/1.1" secretRequired="false" redirectPort="8443" />

tomcat-users.xml配置

<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user password="<mypassword>" roles="admin,manager-gui,manager-script" username="robtot" />

环境信息

  • Ubuntu 22.04
  • Tomcat 9.0.58
  • NetBeans IDE 17(试过snap下载和官方手动下载)
  • JavaEE 5

已尝试操作

  • 将用户robtot加入tomcat组
  • 停止本地运行的tomcat9和apache2服务
  • 以root身份启动NetBeans:
    cd /usr/lib/apache-netbeans/bin
    ./netbeans
    
    此操作消除了日志权限错误,但Tomcat仍启动失败;且tomcat用户为无法登录账号,无法切换至该用户启动Tomcat。

内容的提问来源于stack exchange,提问作者robtot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 23:07:11