本文涉及tomcat、wrapper、jenkins、java环境等的操作。
前言与准备tomcat10下载目录结构(以tomcat10为例说明)apache-tomcat-10.0.14目录结构wrapper 下载wrapper-windows-x86-64-3.5.42 目录结构调试组合合并目录关于wrapper.conf文件的放置路径:配置main入口方法安装安装日志个性化日志个性化其它wrapper 更多服务介绍wrapper使用帮助 命令行启动示例更多升级log4j(此处不可用于生产环境)不推荐使用tomcat10运行实例-Jenkinsjava直接运行tomcat9中启动接口操作api 操作script console 操作总结
文中提供超链接可能部分为翻墙后的检索结果,如有打不开,请提前知晓为此原因。
apache tomcat 下载地址获取
扩展,其它Apache Software Foundition 孵化项目下载 https://dlcdn.apache.org/

apache tomcat 提供的使用手册,自选相应章节进行阅读:
https://tomcat.apache.org/tomcat-7.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-8.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-9.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-10.0-doc/ [兼容java8以更新的jre或jdk]
1F:\chromeshell\tutorial\apache-tomcat-10.0.14>tree /f2F:.3│ BUILDING.txt 4│ CONTRIBUTING.md5│ LICENSE # 版权说明6│ NOTICE7│ README.md8│ RELEASE-NOTES9│ RUNNING.txt10│11├─bin12│ bootstrap.jar13│ catalina-tasks.xml14│ catalina.bat15│ catalina.sh16│ ciphers.bat17│ ciphers.sh18│ commons-daemon.jar19│ configtest.bat20│ configtest.sh21│ daemon.sh22│ digest.bat23│ digest.sh24│ makebase.bat25│ makebase.sh26│ migrate.bat27│ migrate.sh28│ service.bat29│ setclasspath.bat30│ setclasspath.sh31│ shutdown.bat32│ shutdown.sh33│ startup.bat34│ startup.sh35│ tcnative-1.dll36│ tomcat-juli.jar37│ tomcat10.exe38│ tomcat10w.exe39│ tool-wrapper.bat40│ tool-wrapper.sh41│ version.bat42│ version.sh43│44├─conf45│ catalina.policy46│ catalina.properties47│ context.xml48│ jaspic-providers.xml49│ jaspic-providers.xsd50│ logging.properties51│ server.xml52│ tomcat-users.xml53│ tomcat-users.xsd54│ web.xml55│56├─lib57│ annotations-api.jar58│ catalina-ant.jar59│ catalina-ha.jar60│ catalina-ssi.jar61│ catalina-storeconfig.jar62│ catalina-tribes.jar63│ catalina.jar64│ ecj-4.20.jar65│ el-api.jar66│ jakartaee-migration-1.0.0-shaded.jar67│ jasper-el.jar68│ jasper.jar69│ jaspic-api.jar70│ jsp-api.jar71│ servlet-api.jar72│ tomcat-api.jar73│ tomcat-coyote.jar74│ tomcat-dbcp.jar75│ tomcat-i18n-cs.jar76│ tomcat-i18n-de.jar77│ tomcat-i18n-es.jar78│ tomcat-i18n-fr.jar79│ tomcat-i18n-ja.jar80│ tomcat-i18n-ko.jar81│ tomcat-i18n-pt-BR.jar82│ tomcat-i18n-ru.jar83│ tomcat-i18n-zh-CN.jar84│ tomcat-jdbc.jar85│ tomcat-jni.jar86│ tomcat-util-scan.jar87│ tomcat-util.jar88│ tomcat-websocket.jar89│ websocket-api.jar90│91├─logs92├─temp93│ safeToDelete.tmp94│95├─webapps96│ ├─docs # 文件结构,部署好启动后,可以访问 http://127.1.1.1:8080/docs/来访问tomcat10的集成文档,下有截图97│ ├─exmples # 示例页面,部署好启动后,可以访问 http://127.1.1.1:8080/examples/来访问tomcat10的自带示例页面,下有截图98...99



选择相应的版本下载:
https://wrapper.tanukisoftware.com/doc/english/download.jsp
wrapper 准备与说明
官方提供32位的社区(免费)、标准(收费)、专业(收费)版本,64位不提供社区版本,但提供源码可自行编译。
此处引用一个红帽TAM作者[ Simon Krenger ] 发出的编译免费版本,作者是一位关注 Kubernetes, Containers, Linux and Open Source 领域的瑞士博主(是一位 RHCA)。

xxxxxxxxxx301F:\chromeshell\tutorial\wrapper-windows-x86-64-3.5.42>tree /f2#以下脚本的名称可以任意修改指定。3F:.4├─bin5│ DemoApp.bat6│ InstallTestWrapper-NT.bat # 安装服务脚本7│ PauseTestWrapper-NT.bat8│ QueryTestWrapper-NT.bat9│ README.txt10│ ResumeTestWrapper-NT.bat11│ SetupTestWrapper.bat12│ StartTestWrapper-NT.bat13│ StopTestWrapper-NT.bat14│ TeardownTestWrapper.bat15│ TestWrapper.bat # console控制台测试启动调试脚本16│ TestWrapperCommand.bat17│ UninstallTestWrapper-NT.bat # 卸载服务脚本脚本 18│ wrapper.exe19│20└─lib21| wrapper.dll22| wrapper.exp23| wrapper.ilk24| wrapper.jar # 正式java类25| wrapper.lib26| wrapperdemo.jar27| wrappertest.jar # 调试java类28| wrappertest2.jar29├─conf 30| wrapper.conf
xxxxxxxxxx101# 位于 TestWrapper.bat 脚本中的环境变量可以指定 wrapper.conf 的路径2set _WRAPPER_CONF_DEFAULT="../conf/%_WRAPPER_BASE%.conf"3此时需要将wrapper-windows-x86-64-3.5.42/conf/wrapper.conf示例模板文件复制到apache-tomcat-10.0.14/conf/wrapper.conf45或6set _WRAPPER_CONF_DEFAULT="./%_WRAPPER_BASE%.conf"7此时需要将wrapper-windows-x86-64-3.5.42/conf/wrapper.conf示例模板文件复制到apache-tomcat-10.0.14/bin/wrapper.conf 8即和wrapper.exe 在同一目录。910注意同时修改

注意所有用到的脚本要保持一致。

从wrapper.conf中定位以下几行成为组合,不论tomcat或wrapper均是以此类似参数启动服务进程。
以wrapper.conf为例(注意顺序)
x1# http://wrapper.tanukisoftware.com/doc/english/integrate.html23# 以下2选一,方法定义在wraper.jar中4#wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main5wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp67# Java Classpath (include wrapper.jar) Add class path elements as8# needed starting from 1910# 以下3组3选一11# wrapper.java.classpath.1=../lib/wrappertest.jar121314#wrapper.java.classpath.1=../lib/wrappertest.jar15#wrapper.java.classpath.2=../lib/wrapper.jar16#wrapper.java.classpath.3=../bin/bootstrap.jar17#wrapper.java.classpath.4=../bin/tomcat-juli.jar1819wrapper.java.classpath.1=../lib/wrapper.jar20wrapper.java.classpath.2=../bin/bootstrap.jar21wrapper.java.classpath.3=../bin/tomcat-juli.jar2223对应的jar包可以7z右键展开jar包定位查看。2425
右键 InstallTestWrapper-NT.bat ,以管理员权限安装服务脚本


xxxxxxxxxx91 # Name of the service # 服务名称,可能通过 sc 命令管理启动、停止等2 wrapper.name=testwrapper 3 4 # Display name of the service # 显示名称5 wrapper.displayname=Test Wrapper Sample Application # 建议修改显示名称,方便排序服务名称后方便查找6 7 # Description of the service # 描述信息8 wrapper.description=Test Wrapper Sample Application Description9

xxxxxxxxxx371# 修改 wrapper.conf23#********************************************************************4# Wrapper Logging Properties5#********************************************************************6# Enables Debug output from the Wrapper.7# wrapper.debug=TRUE8wrapper.adviser=FALSE9# Format of output for the console. (See docs for formats)10wrapper.console.format=M1112# Log Level for console output. (See docs for log levels)13wrapper.console.loglevel=INFO1415# Log file to use for wrapper output logging.16wrapper.logfile=../logs/wrapper.YYYYMMDD.log17wrapper.logfile.rollmode=DATE1819# Format of output for the log file. (See docs for formats)20wrapper.logfile.format=M2122# Log Level for log file output. (See docs for log levels)23wrapper.logfile.loglevel=INFO2425# Maximum size that the log file will be allowed to grow to before26# the log is rolled. Size is specified in bytes. The default value27# of 0, disables log rolling. May abbreviate with the 'k' (kb) or28# 'm' (mb) suffix. For example: 10m = 10 megabytes.29wrapper.logfile.maxsize=600m3031# Maximum number of rolled log files which will be allowed before old32# files are deleted. The default value of 0 implies no limit.33wrapper.logfile.maxfiles=1803435# Log Level for sys/event log output. (See docs for log levels)36wrapper.syslog.loglevel=NONE37

将 war 包解压到webapps目录下,重启wrapper 服务。后面以jenkins为例说明
将其中放入apache-tomcat-10.0.14/bin/中并在业务中引入即可。
xxxxxxxxxx461F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin>wrapper.exe --help "2Java Service Wrapper Community Edition 64-bit 3.5.423 Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.4 http://wrapper.tanukisoftware.com56Usage:7 wrapper.exe <command> <configuration file> [configuration properties] [...]8 wrapper.exe <configuration file> [configuration properties] [...]9 (<command> implicitly '-c')10 wrapper.exe <command>11 (<configuration file> implicitly 'wrapper.conf')12 wrapper.exe13 (<command> implicitly '-c' and <configuration file> 'wrapper.conf')1415where <command> can be one of:16 -c --console run as a Console application # 类似于TestWrapper.bat控制台运行17 -su --setup SetUp the Wrapper18 -td --teardown TearDown the Wrapper19 -t --start starT an NT service # 启动服务、暂定、停止、恢复服务20 -a --pause pAuse a running NT service21 -e --resume rEsume a paused NT service22 -p --stop stoP a started NT service23 -i --install Install as an NT service # 安装、卸载服务24 -it --installstart Install and sTart as an NT service25 -r --remove Uninstall/Remove as an NT service26 -l=<code> --controlcode=<code> send a user controL Code to a running NT service27 -d --dump request a thread Dump28 -q --query Query the current status of the service29 -qs --querysilent Silently Query the current status of the service30 -v --version print the Wrapper's Version information31 -? --help print this help message32 -- <args> mark the end of Wrapper arguments. All arguments after the33 '--' will be passed through unmodified to the java application.3435<configuration file> is the conf file to use. Filename must be absolute or36 relative to the location of wrapper.exe3738[configuration properties] are configuration name-value pairs which override values39 in the Wrapper configuration file. For example:40 wrapper.debug=true4142 Please note that any file references must be absolute or relative to the location43 of the Wrapper executable.444546F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin>xxxxxxxxxx1411PS C:\WINDOWS\system32> cmd2Microsoft Windows [版本 10.0.19044.1415]3(c) Microsoft Corporation。保留所有权利。45C:\WINDOWS\system32>F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -s F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf6wrapper | The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf7wrapper | Old Value wrapper.java.command=java8wrapper | New Value wrapper.java.command=%JAVA_HOME%/bin/java9Attempting to start Test Wrapper Sample Application as an NT service.1011Calling StartServiceCtrlDispatcher...please wait.1213StartServiceControlDispatcher failed!1415The -s and --service commands should only be called by the Windows16ServiceManager to control the Wrapper as a service, and is not17designed to be run manually by the user.18# 此处:-s参数只支持winNT启动不支持控制台,需要切换为-c参数19For help, type20F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -?212223C:\WINDOWS\system32>F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -c F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf242526wrapper | The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf27wrapper | Old Value wrapper.java.command=java28wrapper | New Value wrapper.java.command=%JAVA_HOME%/bin/java29wrapper | --> Wrapper Started as Console30wrapper | Java Service Wrapper Community Edition 64-bit 3.5.4231wrapper | Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.32wrapper | http://wrapper.tanukisoftware.com33wrapper |34wrapper | Running in a console with QuickEdit Mode. Be careful when selecting text in the35wrapper | console as this may cause to block the Java Application.36wrapper |37wrapper | Launching a JVM...38jvm 1 | WrapperManager: Initializing...39jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log40jvm 1 | 信息: Server.服务器版本: Apache Tomcat/10.0.1441jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log42jvm 1 | 信息: 服务器构建: Dec 2 2021 22:01:36 UTC43jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log44jvm 1 | 信息: 服务器版本号: 10.0.14.045jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log46jvm 1 | 信息: 操作系统名称: Windows 1047jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log48jvm 1 | 信息: OS.版本: 10.049jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log50jvm 1 | 信息: 架构: amd6451jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log52jvm 1 | 信息: Java 环境变量: D:\services\env\server-jre-8u192-windows-x64\jdk1.8.0_192\jre53jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log54jvm 1 | 信息: Java虚拟机版本: 1.8.0_192-b1255jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log56jvm 1 | 信息: JVM.供应商: Oracle Corporation57jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log58jvm 1 | 信息: CATALINA_BASE: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.4259jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log60jvm 1 | 信息: CATALINA_HOME: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.4261jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log62jvm 1 | 信息: 命令行参数: -Djava.library.path=../lib63jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log64jvm 1 | 信息: 命令行参数: -Dwrapper.key=KVWFzAvR4dQST1D165jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log66jvm 1 | 信息: 命令行参数: -Dwrapper.port=3200067jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log68jvm 1 | 信息: 命令行参数: -Dwrapper.jvm.port.min=3100069jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log70jvm 1 | 信息: 命令行参数: -Dwrapper.jvm.port.max=3199971jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log72jvm 1 | 信息: 命令行参数: -Dwrapper.pid=1422873jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log74jvm 1 | 信息: 命令行参数: -Dwrapper.version=3.5.4275jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log76jvm 1 | 信息: 命令行参数: -Dwrapper.native_library=wrapper77jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log78jvm 1 | 信息: 命令行参数: -Dwrapper.arch=x8679jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log80jvm 1 | 信息: 命令行参数: -Dwrapper.cpu.timeout=1081jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log82jvm 1 | 信息: 命令行参数: -Dwrapper.jvmid=183jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent84jvm 1 | 信息: 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。85jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent86jvm 1 | 信息: APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。87jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL88jvm 1 | 信息: OpenSSL成功初始化 [OpenSSL 1.1.1l 24 Aug 2021]89jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.coyote.AbstractProtocol init90jvm 1 | 信息: 初始化协议处理器 ["http-nio-8080"]91jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.Catalina load92jvm 1 | 信息: 服务器在[426]毫秒内初始化93jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.StandardService startInternal94jvm 1 | 信息: 正在启动服务[Catalina]95jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.StandardEngine startInternal96jvm 1 | 信息: 正在启动 Servlet 引擎:[Apache Tomcat/10.0.14]97jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.HostConfig deployDirectory98jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\docs]99jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars100jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。101jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom102jvm 1 | 警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[176]毫秒。103jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory104jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\docs]的部署已在[481]毫秒内完成105jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory106jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\examples]107jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars108jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。109jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log110jvm 1 | 信息: ContextListener: contextInitialized()111jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log112jvm 1 | 信息: SessionListener: contextInitialized()113jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log114jvm 1 | 信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@5d1af469')115jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory116jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\examples]的部署已在[282]毫秒内完成117jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory118jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\host-manager]119jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars120jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。121jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory122jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\host-manager]的部署已在[75]毫秒内完成123jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory124jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\manager]125jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars126jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。127jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory128jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\manager]的部署已在[74]毫秒内完成129jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory130jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\ROOT]131jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars132jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。133jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory134jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\ROOT]的部署已在[65]毫秒内完成135jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.coyote.AbstractProtocol start136jvm 1 | 信息: 开始协议处理句柄["http-nio-8080"]137jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.Catalina start138jvm 1 | 信息: [1037]毫秒后服务器启动139......140...141

下载
https://logging.apache.org/log4j/2.x/download.html
https://dlcdn.apache.org/logging/log4j/2.17.0/apache-log4j-2.17.0-bin.tar.gz 这个产品同样是ASF产品
https://logging.apache.org/log4j/2.x/log4j-appserver/index.html 配置流程,创建指定目录,下载指定jar包
示例xml
https://issues.jenkins.io/browse/JENKINS-64548?jql=labels%20%3D%20deployment
xxxxxxxxxx121下载并运行 Jenkins2下载 Jenkins.34打开终端进入到下载目录.56运行命令 java -jar jenkins.war --httpPort=808078打开浏览器进入链接 http://localhost:8080/910按照说明完成安装.1112安装完成后,您可以开始使用 Jenkins!
xxxxxxxxxx11481F:\chromeshell\tutorial\apache-tomcat-9.0.56\bin>wrapper.exe -c ..\conf\wrapper.conf2The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-9.0.56\conf\wrapper.conf3Old Value wrapper.java.command=java4New Value wrapper.java.command=%JAVA_HOME%/bin/java5--> Wrapper Started as Console6Java Service Wrapper Community Edition 64-bit 3.5.427Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.8http://wrapper.tanukisoftware.com910Running in a console with QuickEdit Mode. Be careful when selecting text in the11console as this may cause to block the Java Application.1213Launching a JVM...14WrapperManager: Initializing...15十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log16信息: Server.服务器版本: Apache Tomcat/9.0.5617十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log18信息: 服务器构建: Dec 2 2021 14:30:07 UTC19十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log20信息: 服务器版本号: 9.0.56.021十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log22信息: 操作系统名称: Windows 1023十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log24信息: OS.版本: 10.025十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log26信息: 架构: amd6427十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log28信息: Java 环境变量: D:\services\env\server-jre-8u192-windows-x64\jdk1.8.0_192\jre29十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log30信息: Java虚拟机版本: 1.8.0_192-b1231十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log32信息: JVM.供应商: Oracle Corporation33十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log34信息: CATALINA_BASE: F:\chromeshell\tutorial\apache-tomcat-9.0.5635十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log36信息: CATALINA_HOME: F:\chromeshell\tutorial\apache-tomcat-9.0.5637十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log38信息: 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager39十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log40信息: 命令行参数: -Djdk.tls.ephemeralDHKeySize=204841十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log42信息: 命令行参数: -Dcatalina.base=../43十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log44信息: 命令行参数: -Dcatalina.home=../45十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log46信息: 命令行参数: -Duser.timezone=Asia/Shanghai47十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log48信息: 命令行参数: -XX:+HeapDumpOnOutOfMemoryError49十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log50信息: 命令行参数: -XX:HeapDumpPath=../logs/heapdump.hprof51十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log52信息: 命令行参数: -XX:ErrorFile=../logs/hs_err_pid_%p.log53十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log54信息: 命令行参数: -Dfile.encoding=UTF-855十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log56信息: 命令行参数: -Djava.library.path=../lib57十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log58信息: 命令行参数: -Dwrapper.key=pbpIv_wvAyEfB4qD59十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log60信息: 命令行参数: -Dwrapper.port=3200061十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log62信息: 命令行参数: -Dwrapper.jvm.port.min=3100063十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log64信息: 命令行参数: -Dwrapper.jvm.port.max=3199965十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log66信息: 命令行参数: -Dwrapper.pid=1305667十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log68信息: 命令行参数: -Dwrapper.version=3.5.4269十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log70信息: 命令行参数: -Dwrapper.native_library=wrapper71十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log72信息: 命令行参数: -Dwrapper.arch=x8673十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log74信息: 命令行参数: -Dwrapper.cpu.timeout=1075十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log76信息: 命令行参数: -Dwrapper.jvmid=177十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent78信息: 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。79十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent80信息: APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。81十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent82信息: APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]83十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL84信息: OpenSSL成功初始化 [OpenSSL 1.1.1l 24 Aug 2021]85十二月 19, 2021 12:50:25 下午 org.apache.coyote.AbstractProtocol init86信息: 初始化协议处理器 ["http-nio-8080"]87十二月 19, 2021 12:50:25 下午 org.apache.catalina.startup.Catalina load88信息: 服务器在[464]毫秒内初始化89十二月 19, 2021 12:50:25 下午 org.apache.catalina.core.StandardService startInternal90信息: 正在启动服务[Catalina]91十二月 19, 2021 12:50:25 下午 org.apache.catalina.core.StandardEngine startInternal92信息: 正在启动 Servlet 引擎:[Apache Tomcat/9.0.56]93十二月 19, 2021 12:50:25 下午 org.apache.catalina.startup.HostConfig deployWAR94信息: 正在部署web应用程序存档文件[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\jenkins.war]95十二月 19, 2021 12:50:29 下午 org.apache.jasper.servlet.TldScanner scanJars96信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。97十二月 19, 2021 12:50:29 下午 org.apache.catalina.core.ApplicationContext log98信息: No Spring WebApplicationInitializer types detected on classpath99十二月 19, 2021 12:50:30 下午 hudson.WebAppMain contextInitialized100信息: Jenkins home directory: C:\Users\Amos\.jenkins found at: $user.home/.jenkins101十二月 19, 2021 12:50:30 下午 org.apache.catalina.session.StandardSession doReadObject102警告: 无法反序列化会话 [E7D5001F36171F750E413215D673F32E] 的属性 [SPRING_SECURITY_CONTEXT]103十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployWAR104信息: web应用程序存档文件[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\jenkins.war]的部署已在[5,310]ms内完成105十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory106信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\docs]107十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars108信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。109十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory110信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\docs]的部署已在[81]毫秒内完成111十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory112信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\examples]113十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars114信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。115十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log116信息: ContextListener: contextInitialized()117十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log118信息: SessionListener: contextInitialized()119十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log120信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@2c1569b4')121十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory122信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\examples]的部署已在[368]毫秒内完成123十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory124信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\host-manager]125十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars126信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。127十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory128信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\host-manager]的部署已在[93]毫秒内完成129十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory130信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\manager]131十二月 19, 2021 12:50:31 下午 org.apache.jasper.servlet.TldScanner scanJars132信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。133十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory134信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\manager]的部署已在[95]毫秒内完成135十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory136信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\ROOT]137十二月 19, 2021 12:50:31 下午 org.apache.jasper.servlet.TldScanner scanJars138信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。139十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory140信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\ROOT]的部署已在[100]毫秒内完成141十二月 19, 2021 12:50:31 下午 org.apache.coyote.AbstractProtocol start142信息: 开始协议处理句柄["http-nio-8080"]143十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.Catalina start144信息: [6131]毫秒后服务器启动145十二月 19, 2021 12:50:32 下午 jenkins.InitReactorRunner$1 onAttained146信息: Started initialization147十二月 19, 2021 12:50:33 下午 jenkins.InitReactorRunner$1 onAttained148信息: Listed all plugins149...150...
传统的 java web application可能不与tomcat10兼容,需要个性化。以tomcat9及之前版本访问为例,请按前面的操作,自行封装制作wrapper+tomcat9。
将jenkins.war包放入tomcat/webapps/ 目录下,重启tomcat即可自动解压启动jenkins,效果如下。




安装完成后进入后台。
xxxxxxxxxx31/ # java -jar jenkins-cli.jar -s http://127.0.0.1:8080/jenkins -auth admin:admin list-jobs2def-domain_def-proj_Tomcat_70003/ #
xxxxxxxxxx11java -jar jenkins-cli.jar -s http://127.0.0.1:8080/jenkins -auth admin:admin get-job def-domain_def-proj_Tomcat_7000
此处的 jenkins-cli.jar 为项目个性开发的调用jenkins API接口jar包。
xxxxxxxxxx61println(Jenkins.instance.pluginManager.plugins) # 输出已安装插件23#重点是下面的这句4Jenkins.instance.getItemByFullName("def-domain_def-proj_Tomcat_7000").updateNextBuildNumber(99999)5#指定下次构建的版本号(适用于版本号整数递增的。)执行后,再次点构建即标记99999版本号。6

Pipeline 本文结束。