pom.xml中配置生成startup.sh,shutdown.sh

本文介绍如何通过Maven插件在打包阶段自动生成用于启动和关闭应用的shell脚本,包括startup.sh和shutdown.sh。具体实现是通过配置maven-antrun-plugin插件,在指定的构建阶段执行Ant任务来创建这两个脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pom.xml中配置生成startup.sh,shutdown.sh

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-antrun-plugin</artifactId>
	<executions>
		<execution>
			<id>manifest</id>
			<phase>package</phase>
			<goals>
				<goal>run</goal>
			</goals>
			<configuration>
				<tasks>
					<echo file="target/startup.sh">
						#!/bin/bash&#x0D;&#x0A;&#x0D;&#x0A;&#x0D;&#x0A;java -cp "libs/*:zooServer.jar" com.yunix.MainServer &amp;&#x0D;&#x0A;echo $! > MainServer.pid
					</echo>
					<echo file="target/shutdown.sh">
						kill `cat MainServer.pid`
					</echo>
				</tasks>
			</configuration>
		</execution>
	</executions>
</plugin>



NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 24-Jun-2025 23:56:57.046 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.106 24-Jun-2025 23:56:57.052 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 5 2025 19:02:30 UTC 24-Jun-2025 23:56:57.052 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.106.0 24-Jun-2025 23:56:57.053 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 24-Jun-2025 23:56:57.053 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 24-Jun-2025 23:56:57.053 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 24-Jun-2025 23:56:57.055 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\soft\jdk-21 24-Jun-2025 23:56:57.055 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 21.0.7+8-LTS-245 24-Jun-2025 23:56:57.055 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 24-Jun-2025 23:56:57.056 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\aimi\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\6e8c1cb4-4072-41c6-9443-2a38786e6fec 24-Jun-2025 23:56:57.056 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\soft\apache-tomcat-9.0.106-windows-x64\apache-tomcat-9.0.106 24-Jun-2025 23:56:57.057 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 24-Jun-2025 23:56:57.057 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 24-Jun-2025 23:56:57.057 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 24-Jun-2025 23:56:57.058 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 24-Jun-2025 23:56:57.058 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 24-Jun-2025 23:56:57.058 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 24-Jun-2025 23:56:57.059 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 24-Jun-2025 23:56:57.059 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\aimi\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\6e8c1cb4-4072-41c6-9443-2a38786e6fec\conf\logging.properties 24-Jun-2025 23:56:57.059 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 24-Jun-2025 23:56:57.059 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 24-Jun-2025 23:56:57.061 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 24-Jun-2025 23:56:57.061 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 24-Jun-2025 23:56:57.061 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\aimi\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\6e8c1cb4-4072-41c6-9443-2a38786e6fec\jmxremote.password 24-Jun-2025 23:56:57.062 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\aimi\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\6e8c1cb4-4072-41c6-9443-2a38786e6fec\jmxremote.access 24-Jun-2025 23:56:57.062 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 24-Jun-2025 23:56:57.062 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 24-Jun-2025 23:56:57.062 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 24-Jun-2025 23:56:57.063 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 24-Jun-2025 23:56:57.063 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dignore.endorsed.dirs= 24-Jun-2025 23:56:57.063 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\aimi\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\6e8c1cb4-4072-41c6-9443-2a38786e6fec 24-Jun-2025 23:56:57.063 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=D:\soft\apache-tomcat-9.0.106-windows-x64\apache-tomcat-9.0.106 24-Jun-2025 23:56:57.064 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=D:\soft\apache-tomcat-9.0.106-windows-x64\apache-tomcat-9.0.106\temp 24-Jun-2025 23:56:57.068 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.4]加载了基于APR的Apache Tomcat本机库[1.3.1]。 24-Jun-2025 23:56:57.069 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。 24-Jun-2025 23:56:57.069 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 24-Jun-2025 23:56:57.077 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.0.14 4 Jun 2024] 24-Jun-2025 23:56:57.382 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 24-Jun-2025 23:56:57.410 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[699]毫秒内初始化 24-Jun-2025 23:56:57.468 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 24-Jun-2025 23:56:57.468 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.106] 24-Jun-2025 23:56:57.483 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 24-Jun-2025 23:56:57.552 信息 [main] org.apache.catalina.startup.Catalina.start [140]毫秒后服务器启动 已连接到服务器 配置错误: 部署源 'e-commerce-system.war' 无效[2025-06-24 11:56:57,944] 工件 e-commerce-system.war: 部署工件时出错。请参阅服务器日志了解详细信息。 [2025-06-24 11:56:57,944] 工件 e-commerce-system:war: 正在部署工件,请稍候… 24-Jun-2025 23:57:02.160 警告 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion 未知版本字符串 [5.0]。将使用默认版本。 24-Jun-2025 23:57:05.797 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 [2025-06-24 11:57:05,896] 工件 e-commerce-system:war: 工件已成功部署 [2025-06-24 11:57:05,896] 工件 e-commerce-system:war: 部署已花费 7,952 毫秒 24-Jun-2025 23:57:07.494 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\soft\apache-tomcat-9.0.106-windows-x64\apache-tomcat-9.0.106\webapps\manager] 24-Jun-2025 23:57:07.571 信息 [Catalina-utility-1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 24-Jun-2025 23:57:07.586 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\soft\apache-tomcat-9.0.106-windows-x64\apache-tomcat-9.0.106\webapps\manager]的部署已在[91]毫秒内完成
最新发布
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值