在启动 JAR 包时指定端口号,通常取决于该 JAR 包所使用的框架及其配置方式。以下是在常见情况下(如使用 Spring Boot 框架)启动 JAR 包并指定端口号的详细步骤:
一、确定 JAR 包是否支持指定端口启动
- 大多数基于 Spring Boot 等现代 Java 框架打包的 JAR 文件都支持通过命令行参数或配置文件来指定启动端口。
二、查找指定端口的设置方法
- 命令行参数:在启动 JAR 包时,可以通过命令行直接传入端口号。
- 配置文件:在 JAR 包的配置文件(如
application.properties
或application.yml
)中设置端口号。
三、在命令行中添加参数或在配置文件中设置端口
解决方案1:
你可以使用命令行参数-Dproperty=value
来设置系统属性,然后在你的应用中通过System.getProperty("property")
来获取这个值。
例如,你可以在启动jar的时候加上-Dserver.port=8080
,然后在你的应用中通过System.getProperty("server.port")
来获取端口号,然后设置到你的应用服务器中。
1. 使用命令行参数
假设 JAR 文件名为 your-application.jar
,可以通过以下命令启动应用并指定端口:
java -jar your-application.jar --server.port=8081
在这个命令中,--server.port=8081
用于指定服务器监听的端口号为 8081。
2. 使用配置文件
-
application.properties
:
在 src/main/resources/application.properties
文件中添加以下配置:
server.port=8081
application.yml
:
如果使用的是 YAML 格式的配置文件,则在 src/main/resources/application.yml
中设置:
server:
port: 8081
四、运行修改后的命令行或配置来启动 JAR 包
- 如果使用命令行参数,则直接运行上述
java -jar
命令。 - 如果修改了配置文件,则重新打包 JAR 文件(如果之前是通过构建工具如 Maven 或 Gradle 打包的),并使用
java -jar
命令启动新生成的 JAR 文件。
五、验证 JAR 包是否在指定的端口上成功启动
- 在启动成功后,可以打开浏览器或使用工具(如 Postman)访问指定的端口和路径,例如
http://localhost:8081/your-endpoint
(将your-endpoint
替换为实际的服务端点)。 - 如果能够成功访问并看到预期的响应,则说明 JAR 包已在指定的端口上成功启动。
示例代码
以下是一个简单的 Spring Boot 应用示例,展示了如何在指定的端口上启动并返回一个简单的 "Hello World" 消息:
打包并启动应用
- 使用 Maven 或 Gradle 将项目打包为 JAR 文件。
- 在控制台中执行以下命令启动应用并指定端口:
bashCopy Code
java -jar target/your-application.jar --server.port=8081
- 打开浏览器或使用工具访问
http://localhost:8081/hello
,验证是否能够看到 "Hello, World!" 返回信息。
通过以上步骤,你可以成功地在启动 JAR 包时指定端口号,并验证其是否在指定的端口上成功启动。
@echo off
title API-%date%-%time%-%cd%)
java -Dfile.encoding=utf-8 -jar -Dserver.port=8022 -Xms1024m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6001 app-2.0.0.jar --spring.datasource.dynamic.publickey=MAAQ==
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2013-12-19 SQL2005:SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法
2012-12-19 WCF: 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
2006-12-19 GridView 的排序 !!
2006-12-19 gridview问题解答 :按钮的Enalbe状态 / 首页\尾页\上一页等 / 显示短时间,年\月\日 / 数据库存是1和0,显示为男和女等!
2006-12-19 利用GridView显示主细表并一次编辑明细表所有数据的例子 !!【转自孟子e章】