【问题标题】:Spring Boot MVC deployment on TomcatTomcat 上的 Spring Boot MVC 部署
【发布时间】:2022-11-24 04:04:08
【问题描述】:

我正在尝试在 Tomcat 上部署 Springboot MVC web。我的观点(模板)使用 Thymeleaf。我关注了这个question,显然我做了应该做的事情(我有SpringApplicationBuilder,依赖关系等)

@控制器:

@GetMapping("/")
public String fetchLogList(Model model) {
    model.addAttribute("logs", logRepository.findAll());
    return "logsview";
}
@GetMapping("/gantt")
public String gatt(Model model) {
    model.addAttribute("logs", logRepository.findAll());
    return "gantt3";
}

结构:

在 IntelliJ 中运行项目时,http://localhost:8085/显示“logsview”。

我在 webapp 目录中放置了一个虚拟的普通 index.html,我可以看到 index.html 的内容http://localhost:8080/logsview-SNAPSHOT/.但我想要http://localhost:8080/logsview-SNAPSHOT/以显示日志视图http://localhost:8080/logsview-SNAPSHOT/gantt3给出 404 错误。

如果我没有那个普通的 index.html,Tomcat 上的 war 文件将显示 404 错误。

  • 如何打包一个 war 文件,当通过 war 部署时, 默认内容是日志视图
  • 我认为我的项目结构不是 正确的 Spring MVC 接受我的观点。一些 示例中有模板/视图资源, 其他人有他们的 前端在网络应用.

编辑:build.gradle 文件

plugins {
    id 'org.springframework.boot' version '2.7.4'
    id 'io.spring.dependency-management' version '1.0.14.RELEASE'
    id 'java'
    id 'war'
}
group = 'com.tool'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
    mavenCentral()
}
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    // https://mvnrepository.com/artifact/org.jfree/jcommon
    implementation group: 'org.jfree', name: 'jcommon', version: '1.0.23'
    // https://mvnrepository.com/artifact/org.jfree/jfreechart
    implementation group: 'org.jfree', name: 'jfreechart', version: '1.0.19'
    implementation 'org.jetbrains:annotations:20.1.0'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'org.postgresql:postgresql'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
    useJUnitPlatform()
}

Edit2:按照@Rohit 的回答,仍然出现 404 错误。 卡特琳娜日志:

22-Nov-2022 11:17:02.751 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/logsview-0.0.1-SNAPSHOT-plain]
22-Nov-2022 11:17:03.273 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/spring-boot-1.0-plain]
22-Nov-2022 11:17:03.286 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war]
22-Nov-2022 11:17:04.732 INFO [Catalina-utility-2] 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.
22-Nov-2022 11:17:04.734 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war] has finished in [1,448] ms
22-Nov-2022 11:17:51.524 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/10.0.23
22-Nov-2022 11:17:51.527 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jul 14 2022 08:16:11 UTC
22-Nov-2022 11:17:51.527 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.23.0
22-Nov-2022 11:17:51.527 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
22-Nov-2022 11:17:51.527 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            5.15.0-53-generic
22-Nov-2022 11:17:51.527 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
22-Nov-2022 11:17:51.528 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-11-openjdk-amd64
22-Nov-2022 11:17:51.528 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           11.0.17+8-post-Ubuntu-1ubuntu220.04
22-Nov-2022 11:17:51.528 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Ubuntu
22-Nov-2022 11:17:51.528 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /opt/tomcat/apache-tomcat-10.0.23
22-Nov-2022 11:17:51.528 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /opt/tomcat/apache-tomcat-10.0.23
22-Nov-2022 11:17:51.541 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/latest/conf/logging.properties
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
22-Nov-2022 11:17:51.542 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-Nov-2022 11:17:51.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
22-Nov-2022 11:17:51.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
22-Nov-2022 11:17:51.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat/latest
22-Nov-2022 11:17:51.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat/latest
22-Nov-2022 11:17:51.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/latest/temp
22-Nov-2022 11:17:51.546 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib]
22-Nov-2022 11:17:51.856 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
22-Nov-2022 11:17:51.869 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
    org.apache.catalina.LifecycleException: Protocol handler initialization failed
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:1055)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:556)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1045)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:747)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:769)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:305)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
    Caused by: java.net.BindException: Address already in use
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:459)
        at java.base/sun.nio.ch.Net.bind(Net.java:448)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:246)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:201)
        at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1192)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1205)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:580)
        at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:82)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:1052)
        ... 13 more
22-Nov-2022 11:17:51.870 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [523] milliseconds
22-Nov-2022 11:17:51.920 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
22-Nov-2022 11:17:51.921 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.0.23]
22-Nov-2022 11:17:51.933 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war]
22-Nov-2022 11:17:53.591 INFO [main] 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.
22-Nov-2022 11:17:53.632 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war] has finished in [1,699] ms
22-Nov-2022 11:17:53.633 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war]
22-Nov-2022 11:17:54.776 INFO [main] 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.
22-Nov-2022 11:17:54.779 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war] has finished in [1,146] ms
22-Nov-2022 11:17:54.780 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/Calculator.war]
22-Nov-2022 11:17:56.242 INFO [main] 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.
22-Nov-2022 11:17:56.247 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/Calculator.war] has finished in [1,467] ms
22-Nov-2022 11:17:56.248 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/docs]
22-Nov-2022 11:17:56.262 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/docs] has finished in [14] ms
22-Nov-2022 11:17:56.262 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/ROOT]
22-Nov-2022 11:17:56.274 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/ROOT] has finished in [12] ms
22-Nov-2022 11:17:56.274 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/manager]
22-Nov-2022 11:17:56.303 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/manager] has finished in [29] ms
22-Nov-2022 11:17:56.304 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/examples]
22-Nov-2022 11:17:56.446 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/examples] has finished in [143] ms
22-Nov-2022 11:17:56.446 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/host-manager]
22-Nov-2022 11:17:56.460 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/host-manager] has finished in [14] ms
22-Nov-2022 11:17:56.460 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war]
22-Nov-2022 11:17:57.699 INFO [main] 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.
22-Nov-2022 11:17:57.701 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war] has finished in [1,241] ms
22-Nov-2022 11:17:57.702 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/BillingCalculator-1.0-plain.war]
22-Nov-2022 11:17:59.297 INFO [main] 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.
22-Nov-2022 11:17:59.300 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/BillingCalculator-1.0-plain.war] has finished in [1,598] ms
22-Nov-2022 11:17:59.305 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [7434] milliseconds
22-Nov-2022 11:17:59.307 SEVERE [main] org.apache.catalina.core.StandardServer.await Failed to create server shutdown socket on address [localhost] and port [8005] (base port [8005] and offset [0])
    java.net.BindException: Address already in use (Bind failed)
        at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
        at java.base/java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:452)
        at java.base/java.net.ServerSocket.bind(ServerSocket.java:395)
        at java.base/java.net.ServerSocket.<init>(ServerSocket.java:257)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:580)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:887)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:833)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
22-Nov-2022 11:17:59.308 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
22-Nov-2022 11:17:59.308 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
22-Nov-2022 11:17:59.340 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
22-Nov-2022 11:17:59.342 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]
22-Nov-2022 11:18:35.245 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/logsview-0.0.1-SNAPSHOT-plain]
22-Nov-2022 11:18:35.749 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/hello-world-app]
22-Nov-2022 11:18:36.254 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/hello_world_app_war]
22-Nov-2022 11:18:46.258 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war]
22-Nov-2022 11:18:46.271 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war] has finished in [13] ms
22-Nov-2022 11:21:26.292 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war]
22-Nov-2022 11:21:27.582 INFO [Catalina-utility-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.
22-Nov-2022 11:21:27.585 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/logsview-0.0.1-SNAPSHOT-plain.war] has finished in [1,292] ms
22-Nov-2022 16:20:59.572 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war]
22-Nov-2022 16:21:00.566 INFO [Catalina-utility-2] 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.
22-Nov-2022 16:21:00.568 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war] has finished in [995] ms
22-Nov-2022 16:21:41.076 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/logsview-0.0.1-SNAPSHOT-plain]
22-Nov-2022 16:21:41.583 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/hello-world-app]
22-Nov-2022 16:21:42.100 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/hello_world_app_war]
22-Nov-2022 16:22:22.111 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war]
22-Nov-2022 16:22:22.986 INFO [Catalina-utility-2] 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.
22-Nov-2022 16:22:22.987 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello-world-app.war] has finished in [877] ms
22-Nov-2022 16:28:22.432 WARNING [main] org.apache.catalina.core.StandardServer.await Invalid shutdown command [] received
22-Nov-2022 16:28:33.032 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war]
22-Nov-2022 16:28:33.047 INFO [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/opt/tomcat/apache-tomcat-10.0.23/webapps/hello_world_app_war] has finished in [15] ms

更新:

我删除了其他战争文件并保留默认值。 网络应用目录:

Hello_World_App 显示 404 错误,Hello_World_App_war 显示 403 错误。

【问题讨论】:

  • @RohitAgarwal 这是 Tomcat 404 错误页面,显示“请求的资源 [/logsview-0.0.1-SNAPSHOT-plain/logsview.html] 不可用”
  • 好的,您也可以共享 pom.xml 文件吗?
  • 我用 build.gradle 的内容编辑了帖子
  • 你检查tomcat日志了吗,你的应用程序启动成功了吗?

标签: spring-boot spring-mvc tomcat


【解决方案1】:

您的代码对我来说看起来不错,但在某些配置或 tomcat 部署中可能存在其他问题。但为了帮助您,我准备了一个可用的应用程序。请执行以下步骤。

  1. 克隆应用程序-https://github.com/javamultiplex/spring-boot-mvc-app
    git clone git@github.com:javamultiplex/spring-boot-mvc-app.git
    
    1. 创建应用程序构建(我使用的是maven,但您也可以使用gradle
    mvn clean package -DskipTests
    
    1. 从目标文件夹复制 hello-world-app.war 文件并粘贴到 Tomcat webapps 文件夹中。

    1. 启动 Tomcat 服务器

    1. 访问 URL

    一)http://localhost:8080/hello-world-app/

    b) http://localhost:8080/hello-world-app/fun

    技术栈

    1. 弹簧启动 2.7.5
    2. Java 17
    3. 行家 3.6.1
    4. Tomcat 9.0.69

【讨论】:

  • 我清理了项目然后构建了 war 文件,但仍然遇到相同的 404 错误The requested resource [/hello-world-app/] is not available。我没有做任何更改,也使用了maven,但是查看tomcat中的分解文件夹,只有META-INF和WEB-INF
  • 您是否正确执行了上述所有步骤?
  • 不完全一样,第 2 步给出错误`无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project hello-world-app: Fatal error compiling:错误:无效的目标版本:17 -> [帮助 1]` 所以我使用 IDE maven 插件构建了一场战争。我不确定这是否会有所不同
  • 好的,这个错误来了,因为你的系统中没有配置 JDK17。配置 JDK17 或更新 pom.xml 中 <properties> 标记中的 java 版本,然后重试。
  • <属性> <java.version>17</java.version></properties>
猜你喜欢
  • 1970-01-01
  • 2016-03-28
  • 2016-08-11
  • 2018-01-13
  • 2014-09-04
  • 2015-03-10
  • 2018-12-05
  • 1970-01-01
  • 2015-09-03
相关资源
最近更新 更多