要使用 java -jar 启动 Java 程序并指定端口号和激活的 Profile(如 Spring Boot 应用),可以通过以下方式传递参数:
命令格式
java -Dfile.encoding=UTF-8 -Dserver.port=<端口号> -Dspring.profiles.active=<Profile名称> -jar <应用jar文件>
-
-Dfile.encoding: 设置JVM的默认文件编码为UTF-8,避免中文乱码。(这个参数设置JVM的默认文件编码为UTF-8。这对于处理中文或其他非ASCII字符的文件读写超级重大,避免乱码问题。不过需要注意的是,这个参数会影响整个JVM,而不仅仅是应用程序本身,所以如果有其他部分依赖特定编码可能会受影响。) -
-Dserver.port:指定服务监听的端口号(Spring Boot 专用参数)。 -
-Dspring.profiles.active:指定激活的 Profile(如dev、prod等)。 -
-jar <应用jar文件>:指定要运行的 JAR 文件。
示例
假设应用名为 myapp.jar,指定端口为 8080,激活 prod Profile:
java -Dserver.port=8080 -Dspring.profiles.active=prod -jar myapp.jar
其他常见场景
-
同时指定多个 Profile(逗号分隔):
java -Dserver.port=8080 -Dspring.profiles.active=prod,secure -jar myapp.jar -
结合其他 JVM 参数(如内存配置):
java -Xmx512m -Dserver.port=8080 -Dspring.profiles.active=prod -jar myapp.jar
注意事项
-
参数顺序:
-D开头的 JVM 参数需放在-jar之前,否则会被忽略。 -
框架依赖:
server.port和spring.profiles.active是 Spring Boot 的配置项,其他框架可能有不同参数。 -
优先级:命令行参数的优先级高于配置文件(如
application.properties)。
如果需要进一步协助,请提供具体应用框架或场景!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
![[Java]使用 java -jar 启动 Java 程序并指定端口号和激活的 Profile - 宋马](https://bbs.songma.com/wp-content/uploads/2024/12/800.png)


















暂无评论内容