【问题标题】:Spring App is not running from Intellij with Tomcat ServerSpring App 未使用 Tomcat 服务器从 Intellij 运行
【发布时间】:2021-10-24 16:01:36
【问题描述】:

如果我使用 Tomcat 服务器从 Intellij 运行我的 spring 应用程序,它会给我:

HTTP Status 404 – Not Found
Type Status Report

Message The requested resource [/] is not available

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/9.0.52

但如果我将我的app.war 放入tomcat/webapps/ 作为ROOT.war,它就可以完美地工作。

我只有在尝试从Intellij运行时才会遇到问题

这是配置:

这是部署:

这是输出:

C:\apache-tomcat-9.0.52\bin\catalina.bat run
[2021-08-24 02:50:39,974] Artifact myappname:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7"
Using CATALINA_HOME:   "C:\apache-tomcat-9.0.52"
Using CATALINA_TMPDIR: "C:\apache-tomcat-9.0.52\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk-10.0.2"
Using CLASSPATH:       "C:\apache-tomcat-9.0.52\bin\bootstrap.jar;C:\apache-tomcat-9.0.52\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
24-Aug-2021 14:50:40.602 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.52
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jul 31 2021 04:12:17 UTC
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.52.0
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 10
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            10.0
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk-10.0.2
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           10.0.2+13
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            "Oracle Corporation"
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7
24-Aug-2021 14:50:40.603 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\apache-tomcat-9.0.52
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7\conf\logging.properties
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
24-Aug-2021 14:50:40.604 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7\jmxremote.password
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7\jmxremote.access
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\Main\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\f74e8856-a9b4-4e50-9d59-c901731f3dc7
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\apache-tomcat-9.0.52
24-Aug-2021 14:50:40.605 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\apache-tomcat-9.0.52\temp
24-Aug-2021 14:50:40.607 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.30] using APR version [1.7.0].
24-Aug-2021 14:50:40.607 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
24-Aug-2021 14:50:40.607 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
24-Aug-2021 14:50:40.610 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1k  25 Mar 2021]
24-Aug-2021 14:50:40.750 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
24-Aug-2021 14:50:40.763 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [279] milliseconds
24-Aug-2021 14:50:40.804 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
24-Aug-2021 14:50:40.804 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.52]
24-Aug-2021 14:50:40.812 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
24-Aug-2021 14:50:40.823 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [59] milliseconds
Connected to server
[2021-08-24 02:50:41,210] Artifact myappname:war exploded: Artifact is being deployed, please wait...
24-Aug-2021 14:50:45.369 INFO [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 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.
[2021-08-24 02:50:45,523] Artifact myappname:war exploded: Artifact is deployed successfully
[2021-08-24 02:50:45,523] Artifact myappname:war exploded: Deploy took 4,313 milliseconds
24-Aug-2021 14:50:50.816 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\apache-tomcat-9.0.52\webapps\manager]
24-Aug-2021 14:50:50.851 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\apache-tomcat-9.0.52\webapps\manager] has finished in [35] ms

我想从根目录运行我的应用程序:localhost:8080/

为什么我会收到来自 Tomcat 的404 - Not Found?以及如何解决?

如果您需要更多详细信息,请告诉我。

Intellij IDEA 版本:2021.2 Ultimate Edition

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.5.3</version>
</dependency>

P.S.:我认为有些地方没有正确部署。因为部署后,在控制台中不会出现那么大的SPRING 徽标和有关初始化的日志。或者这不一定?

【问题讨论】:

  • 您可以连接到 Tomcat 管理器 (http://localhost:8080/manager) 以查看 Intellij 将您的应用程序部署在哪里。
  • @PiotrP.Karwasz ,我检查了manager,我可以在列表中看到我的应用程序//manager,我不知道如何在磁盘上找到位置。
  • @PiotrP.Karwasz ,我认为有些东西没有正确部署。如果我没记错的话,部署后,控制台中应该会出现一些SPRING 徽标和更多细节。但现在不见了。
  • 检查其他日志(catalina.&lt;date&gt;.loglocalhost.&lt;date&gt;.log)。
  • @PiotrP.Karwasz ,我解决了这个问题。在Run/Debug Configuration Before Launch 我删除了所有内容。现在工作。谢谢你的帮助。

标签: java spring tomcat intellij-idea


【解决方案1】:

我找到了解决问题的方法。

我的问题已通过删除 Run/Debug Configuration -&gt; Before Launch 中的所有内容得到解决

我还添加了maven clean install 命令,而不是那里的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2015-04-05
    • 2021-02-17
    • 1970-01-01
    • 2022-12-22
    • 2017-01-11
    • 2021-07-18
    相关资源
    最近更新 更多