java - 当我尝试在本地 tomcat 8.5 上调试 Eclipse JEE Web 项目时,服务器 Tomcat v8.5 本地服务器无法启动

标签 java amazon-web-services tomcat web-applications eclipse-jee

我发现了与此类似的其他堆栈溢出问题。答案似乎是针对那些人的错误,所以我放弃了他们。

我记得当我停止这个项目时并没有出现这个错误。我不记得在回到这个项目并收到此错误之前更改过任何内容。

我想在本地 tomcat 8.5 服务器上调试我的 Web 应用程序。在适用于企业 Java 开发人员的 Eclipse IDE 版本 2019-03(4.11.0) 中,我右键单击我的 Web 项目并选择“调试为”->“在服务器上调试”。出现一个对话框,我选择“手动定义新服务器”选项。我选择 Tomcat v8.5 服务器。我单击“完成”按钮。调试窗口中出现一些红色文本。然后出现一个对话框,显示:

'Starting Tomcat v8.5 Server at localhost' has encountered a problem.

Server Tomcat v8.5 Server at localhost failed to start.

我已经能够使用startup.sh成功启动tomcat,并且能够使用shutdown.sh成功关闭tomcat,所以我知道tomcat可以自行工作。

我能够在 AWS Beanstalk 上运行此 Web 项目。

这是调试窗口中的内容:

Jan 31, 2020 9:54:37 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'antiJARLocking' to 'true' did not find a matching property.
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.5.41
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          May 4 2019 09:17:16 UTC
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.5.41.0
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Mac OS X
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.14.6
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          x86_64
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_211-b12
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /Users/shinehah/eclipse-workspaces/eclipse-java-ee-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /Users/shinehah/tomcat/apache-tomcat-8.5.41
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:56586
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -javaagent:/Users/shinehah/eclipse/jee-2019-03-3/Eclipse.app/Contents/Eclipse/configuration/org.eclipse.osgi/402/0/.cp/lib/javaagent-shaded.jar
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/Users/shinehah/eclipse-workspaces/eclipse-java-ee-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/Users/shinehah/tomcat/apache-tomcat-8.5.41
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=/Users/shinehah/eclipse-workspaces/eclipse-java-ee-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/Users/shinehah/tomcat/apache-tomcat-8.5.41/endorsed
Jan 31, 2020 9:54:37 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
Jan 31, 2020 9:54:37 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/shinehah/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
Jan 31, 2020 9:54:38 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Jan 31, 2020 9:54:38 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Jan 31, 2020 9:54:38 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Jan 31, 2020 9:54:38 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Jan 31, 2020 9:54:38 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1816 ms
Jan 31, 2020 9:54:38 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Jan 31, 2020 9:54:38 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.41
Jan 31, 2020 9:54:39 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Jan 31, 2020 9:54:39 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Realm[MemoryRealm]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5113)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Memory database file [/usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml] cannot be read
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:276)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 8 more
Caused by: java.io.FileNotFoundException: /usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:89)
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:258)
    ... 9 more

Jan 31, 2020 9:54:39 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
    ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Realm[MemoryRealm]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5113)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Memory database file [/usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml] cannot be read
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:276)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 8 more
Caused by: java.io.FileNotFoundException: /usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:89)
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:258)
    ... 9 more

Jan 31, 2020 9:54:39 AM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 11 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
    ... 13 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
    ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/webproject10]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Realm[MemoryRealm]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5113)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Memory database file [/usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml] cannot be read
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:276)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 8 more
Caused by: java.io.FileNotFoundException: /usr/share/tomcat8/webapps/ROOT/WEB-INF/tomcat-users.xml (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:89)
    at org.apache.catalina.realm.MemoryRealm.startInternal(MemoryRealm.java:258)
    ... 9 more

Jan 31, 2020 9:54:39 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
Jan 31, 2020 9:54:39 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
Jan 31, 2020 9:54:39 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service [Catalina]
Jan 31, 2020 9:54:39 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
Jan 31, 2020 9:54:39 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]

在“问题” Pane 中,我看到以下 4 个错误:

Cannot change version of project facet Dynamic Web Module to 3.1.
JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied.
JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer.
One or more constraints have not been satisfied.

最佳答案

在 Eclipse WTP 中运行 Tomcat 的方式有多种,在“服务器位置”部分进行配置,如下所示:

enter image description here

从您的日志中,您现在应该使用第一个选项(即使用工作区元数据(不修改 Tomcat 安装)),Eclipse 会将 Tomcat 运行为 a separate instance其根文件夹位于配置的“服务器路径”(即本例中的 $project_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp3 )。

请注意,此 Tomcat 实例与您从命令行使用 startup.sh 启动 tomcat 的实例不同。他们有不同的配置设置。您应该注意到,定义服务器后也会创建一个服务器项目。该项目包含由 Eclipse 运行的 tomcat 实例的配置。

enter image description here

因此,打开此服务器项目中的server.xml并找到MemoryRealm。我相信您设置的是无效的 pathname这里导致了这个问题。因此,请尝试更正它或简单地将其删除,例如它将使用默认设置,该设置将引用服务器项目中的 tomcat-users.xml

另一方面,您可以尝试使用第二个选项(使用 Tomcat 安装(控制 Tomcat 安装))。然后,Eclipse 将运行 Tomcat,就像您使用 startup.sh 运行 Tomcat 一样,我相信它应该可以工作,因为您提到它可以使用 startup.sh 启动。

关于java - 当我尝试在本地 tomcat 8.5 上调试 Eclipse JEE Web 项目时,服务器 Tomcat v8.5 本地服务器无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60008021/

相关文章:

java - JDBC 数据源返回 NULL

amazon-web-services - packer 构建无法通过 ssh 连接到 aws 实例

amazon-web-services - 使用分布在多个项目和存储桶中的 AWS DynamoDB 和 S3 数据进行孤儿管理?

java - 将spring boot mvc部署到远程tomcat 7

java - mod_jk1.2.32 的 JK Status Manager(status worker) 没有在 Web 界面上显示正确的 worker 状态

java - 一段时间内出现网络问题时,客户端与远程 Hbase 服务器的连接

java - 专注于Keylistener

javascript - Spring boot 和 react 在 tomcat 上运行

java - 在android中创建一个空的ArrayList

ruby-on-rails - 在 Rails 应用程序中向 PostgreSQL 提供 SSL 证书