gpt4 book ai didi

java - apache tomcat 询问用户名和密码

转载 作者:搜寻专家 更新时间:2023-11-01 03:52:28 24 4
gpt4 key购买 nike

我使用 Apache Tomcat 7 安装了 NetBeans。我尝试运行一个程序,系统提示我使用 Tomcat 管理器应用程序并要求输入用户名和密码。

首先,我无法在 Apache Tomcat 服务器的属性下更改密码。我可以更改用户名,但无论密码如何始终保持不变。我在 Catalina 主页和基地中编辑了 tomcat-user.xml 文件,但它似乎没有什么不同。我仍然无法使用 NetBeans 运行任何东西。我收到部署错误:未授权访问 Tomcat 服务器。在服务器管理器的 Tomcat 定制器中使用“manager-script”角色设置正确的用户名和密码。有关详细信息,请参阅服务器日志。

启动服务器时出现如下错误

java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.41\logs\catalina.2014-02-22.log (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at org.apache.juli.FileHandler.openWriter(FileHandler.java:389)
at org.apache.juli.FileHandler.<init>(FileHandler.java:100)
at org.apache.juli.FileHandler.<init>(FileHandler.java:91)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:536)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:479)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:303)
at java.util.logging.LogManager$2.run(LogManager.java:294)
at java.util.logging.LogManager$2.run(LogManager.java:292)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:292)
at java.util.logging.LogManager.getLogManager(LogManager.java:274)
at java.util.logging.Logger.<init>(Logger.java:264)
at java.util.logging.Logger.<init>(Logger.java:260)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1412)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1410)
at java.util.logging.LogManager$1.run(LogManager.java:196)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:173)
at java.util.logging.Logger.demandLogger(Logger.java:336)
at java.util.logging.Logger.getLogger(Logger.java:390)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.41\logs\localhost.2014-02-22.log (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at org.apache.juli.FileHandler.openWriter(FileHandler.java:389)
at org.apache.juli.FileHandler.<init>(FileHandler.java:100)
at org.apache.juli.FileHandler.<init>(FileHandler.java:91)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:536)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:479)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:303)
at java.util.logging.LogManager$2.run(LogManager.java:294)
at java.util.logging.LogManager$2.run(LogManager.java:292)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:292)
at java.util.logging.LogManager.getLogManager(LogManager.java:274)
at java.util.logging.Logger.<init>(Logger.java:264)
at java.util.logging.Logger.<init>(Logger.java:260)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1412)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1410)
at java.util.logging.LogManager$1.run(LogManager.java:196)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:173)
at java.util.logging.Logger.demandLogger(Logger.java:336)
at java.util.logging.Logger.getLogger(Logger.java:390)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.41\logs\manager.2014-02-22.log (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at org.apache.juli.FileHandler.openWriter(FileHandler.java:389)
at org.apache.juli.FileHandler.<init>(FileHandler.java:100)
at org.apache.juli.FileHandler.<init>(FileHandler.java:91)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:536)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:479)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:303)
at java.util.logging.LogManager$2.run(LogManager.java:294)
at java.util.logging.LogManager$2.run(LogManager.java:292)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:292)
at java.util.logging.LogManager.getLogManager(LogManager.java:274)
at java.util.logging.Logger.<init>(Logger.java:264)
at java.util.logging.Logger.<init>(Logger.java:260)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1412)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1410)
at java.util.logging.LogManager$1.run(LogManager.java:196)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:173)
at java.util.logging.Logger.demandLogger(Logger.java:336)
at java.util.logging.Logger.getLogger(Logger.java:390)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.41\logs\host-manager.2014-02-22.log (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at org.apache.juli.FileHandler.openWriter(FileHandler.java:389)
at org.apache.juli.FileHandler.<init>(FileHandler.java:100)
at org.apache.juli.FileHandler.<init>(FileHandler.java:91)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:536)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:479)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:303)
at java.util.logging.LogManager$2.run(LogManager.java:294)
at java.util.logging.LogManager$2.run(LogManager.java:292)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:292)
at java.util.logging.LogManager.getLogManager(LogManager.java:274)
at java.util.logging.Logger.<init>(Logger.java:264)
at java.util.logging.Logger.<init>(Logger.java:260)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1412)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1410)
at java.util.logging.LogManager$1.run(LogManager.java:196)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:173)
at java.util.logging.Logger.demandLogger(Logger.java:336)
at java.util.logging.Logger.getLogger(Logger.java:390)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)

最佳答案

在 Windows Vista 或更新版本中,需要管理权限才能在 C:\Program Files\ 目录下写入内容。
但出于安全原因,Apache 没有管理权限。

这就是那个错误的原因。

已编辑

抱歉,我发布的答案解释的是 Apache 而不是 tomcat。

您需要更改 tomcat 配置文件中的日志设置,例如 \conf\logging.propertiesserver.xml

在 logging.properties 中,您可以找到一些 ${catalina.base}/logs 值。将其更改为您喜欢的绝对路径(例如 c:/path/you/like/logs)。

在 server.xml 中,更改 Valve 标签中的目录属性,如下所示

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="c:/path/you/like/logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

或者,你也可以在另一个非系统目录下重新安装tomcat。


如何修改conf文件。

以下评论的附加答案。

IT SHOWING ACCESS DENIED WHEN M TRYING SAVE

要在某些系统文件夹下保存文件,包括 Program Files,您需要管理权限。

我解释了两种解决这个问题的方法。
您可以选择您喜欢的任何一个。

  1. 使用管理权限运行文本编辑器。可能是,右键单击编辑器的快捷方式并选择 Run as administrator 或类似的。

  2. 在其他地方编辑并存储。首先,将要修改的配置文件复制到其他地方,例如桌面。其次,编辑复制的文件并保存。第三,复制(或移动)到原来的地方(第一步复制的地方)。第三步后,系统询问是否允许,如果需要,请选择允许。

抱歉我的英语不好。


以下是 Apache 网络服务器。

我认为要解决这些问题,您需要更改配置文件中的日志设置。也许,您可以在 httpd.conf 中找到以下(个人)行

错误日志 "logs/error.log"

#CustomLog "logs/access.log"common

CustomLog "logs/access.log"合并

更改这些设置的绝对路径并取消对 common 的注释,如下所示。

ErrorLog "c:/path/you/like/logs/error.log"

CustomLog "c:/path/you/like/logs/access.log"common

CustomLog "c:/path/you/like/logs/access.log"合并

或者您可以在另一个非系统目录中重新安装 Apache。

关于java - apache tomcat 询问用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21950428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com