Java – 使用java -jar指定端口号启动应用
1. 介绍
在Java开发中,我们经常使用java -jar
命令来运行可执行的JAR文件,这使得我们可以方便地将应用程序打包为一个独立的可执行文件并在服务器上部署。然而,默认情况下,java -jar
命令会使用应用程序的默认端口号来启动应用程序。本文将详细讲解如何在使用java -jar
命令启动应用程序时指定端口号。
2. 指定端口号的方法
2.1 使用命令行参数指定端口号
在使用java -jar
命令启动应用程序时,可以通过命令行参数来指定端口号。具体的方法是在命令行中使用-D
参数来设置系统属性,然后在应用程序中读取该属性值作为端口号。
示例代码:
public class MainApplication {
public static void main(String[] args) {
String port = System.getProperty("server.port");
System.out.println("应用程序端口号:" + port);
}
}
在命令行中启动应用程序时,使用如下命令来指定端口号为8080:
java -jar app.jar -Dserver.port=8080
运行结果:
应用程序端口号:8080
2.2 使用配置文件指定端口号
除了使用命令行参数,还可以通过在应用程序的配置文件中指定端口号的方式来启动应用程序。具体的步骤如下:
- 创建一个名为
application.properties
的配置文件。 - 在配置文件中添加如下内容:
server.port=8080
- 将配置文件与应用程序的JAR文件放在同一个目录下。
示例代码:
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
运行结果:
2022-01-01 00:00:00.000 INFO 12345 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
通过配置文件指定端口号的方法非常方便,适用于大多数情况。
2.3 使用环境变量指定端口号
除了使用命令行参数和配置文件,还可以使用环境变量来指定端口号。具体的步骤如下:
- 创建一个名为
application.properties
的配置文件。 - 在配置文件中添加如下内容:
server.port=${PORT:8080}
${PORT:8080}
表示如果环境变量中有名为PORT
的变量,则使用该值作为端口号;否则,默认使用8080作为端口号。
示例代码:
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
运行结果:
2022-01-01 00:00:00.000 INFO 12345 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
通过使用环境变量指定端口号的方法,可以在不修改配置文件的情况下灵活地改变端口号。
3. 小结
本文介绍了如何在使用java -jar
命令启动应用程序时指定端口号的方法。通过使用命令行参数、配置文件或环境变量,我们可以方便地指定应用程序的端口号。这种灵活的方式使得我们可以根据实际需要来配置端口号,以适应不同的部署环境和需求。