搭建工程之一 eclipse 中基于 maven 的 webapp工程能基于tomcat运行

一、背景

    作为开发人员,开发的web(运行在tomcat 容器中)希望能够在本地开发工具(eclipse)中运行调试,加快开发测试进度。

二、操作步骤

1、创建maven工程

  •  在 eclipse 上右键,选择"New"---"Other" --- "Maven" ---- " Maven Project "

 

  • 勾选上“Create a simple project”

  • 配置工程的基本信息,其中 Packaging 需要选择 “war”

  • 创建完工程之后,会发现pom.xml报错,提示的错误信息为“web.xml is missing and <failOnMissingWebXml> is set to true”

 

 2、将 tomcat 集成到 eclipse 中

  •  从官网上下载你要用的

 

 

 运行之后,发现无法看到 tomcat的本身的日志

1、将 logging.properties 放到eclipse 配置的 catalina.base 目录/conf 下

2、配置了启动参数中有日志配置文件

Can't load log handler "2localhost.org.apache.juli.AsyncFileHandler"
java.lang.ClassNotFoundException: 2localhost.org.apache.juli.AsyncFileHandler
java.lang.ClassNotFoundException: 2localhost.org.apache.juli.AsyncFileHandler
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.logging/java.util.logging.LogManager.createLoggerHandlers(LogManager.java:1000)
    at java.logging/java.util.logging.LogManager$4.run(LogManager.java:970)
    at java.logging/java.util.logging.LogManager$4.run(LogManager.java:966)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.logging/java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:966)
    at java.logging/java.util.logging.LogManager.addLogger(LogManager.java:1199)
    at java.logging/java.util.logging.LogManager.demandLogger(LogManager.java:525)
    at java.logging/java.util.logging.LogManager.demandLogger(LogManager.java:515)

 

28-May-2024 10:16:17.966 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.89
28-May-2024 10:16:17.970 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建:        May 3 2024 20:22:11 UTC
28-May-2024 10:16:17.970 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号:      9.0.89.0
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称:      Windows 10
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:           10.0
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构:              amd64
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量:     D:\ide\jdk-11.0.2
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本:    11.0.2+9
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商:        Oracle Corporation
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:     D:\cmcworkspace\consul\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
28-May-2024 10:16:17.971 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:     D:\ide\apache-tomcat-9.0.89
28-May-2024 10:16:17.983 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.base=D:\cmcworkspace\consul\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
28-May-2024 10:16:17.983 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dcatalina.home=D:\ide\apache-tomcat-9.0.89
28-May-2024 10:16:17.983 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dwtp.deploy=D:\cmcworkspace\consul\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps
28-May-2024 10:16:17.983 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
28-May-2024 10:16:17.984 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Djava.util.logging.config.file=D:\cmcworkspace\consul\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\conf\logging.properties
28-May-2024 10:16:17.984 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Dfile.encoding=UTF-8
28-May-2024 10:16:17.987 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.4]加载了基于APR的Apache Tomcat本机库[1.3.0]。
28-May-2024 10:16:17.987 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。
28-May-2024 10:16:17.987 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
28-May-2024 10:16:17.995 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.0.13 30 Jan 2024]
28-May-2024 10:16:18.237 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"]
28-May-2024 10:16:18.266 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[483]毫秒内初始化
28-May-2024 10:16:18.316 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
28-May-2024 10:16:18.316 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.89]
28-May-2024 10:16:18.658 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
28-May-2024 10:16:18.741 信息 [main] org.apache.catalina.startup.Catalina.start [475]毫秒后服务器启动

问题:

在ecplise中集成的tomcat中运行,只能访问首页,应用程序自身的日志文件未产生,且 controller 层的接口也访问不了。

 

 

验证单独:将springboot的工程放到tomcat容器中运行

1、改造

2、运行

2024-05-28T14:02:59.041+08:00 DEBUG demo.tomcat [main] [o.s.b.factory.support.DefaultListableBeanFactory:952] Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcContentNegotiationManager'
2024-05-28T14:02:59.041+08:00 DEBUG demo.tomcat [main] [o.s.b.factory.support.DefaultListableBeanFactory:952] Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcConversionService'
2024-05-28T14:02:59.041+08:00 DEBUG demo.tomcat [main] [o.s.b.factory.support.DefaultListableBeanFactory:952] Autowiring by type from bean name 'requestMappingHandlerMapping' via factory method to bean named 'mvcResourceUrlProvider'
2024-05-28T14:02:59.086+08:00 DEBUG demo.tomcat [main] [_.s.web.servlet.HandlerMapping.Mappings:295] 
    c.j.d.s.TestHelloController:
    {GET [/test/hello]}: hello()

 问题:

直接使用 localhost:8080/tomcat 访问不了应用程序的首页,也就是index.html页面

 

posted @ 2024-07-03 10:54  夏之夜  阅读(3)  评论(0编辑  收藏  举报