You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用-Dserver.port参数执行Jar文件失败,求原因及解决方案

问题原因与解决办法

错误原因分析

第一个命令报错原因

你输入的java -Dserver.port=8082 -jar .\target\demoApp-0.0.1-SNAPSHOT.jar语法本身合规,但报错显示Java将.port=8082识别为主类名,大概率是输入时**-D和server.port之间误加了空格**(比如写成java -D server.port=8082 -jar ...)。此时Java会把server.port=8082当作要运行的主类,而类名不能以.开头,因此抛出ClassNotFoundException。

第二个命令报错原因

调整后的java -jar -Dserver.port=8082 .\target\demoApp-0.0.1-SNAPSHOT.jar违反了Java命令的核心规则:所有JVM参数(包括-D系统属性)必须放在-jar参数之前。-jar后面必须直接跟目标jar文件的路径,你把-D参数放在-jar之后,Java会把这个参数当作jar文件名,自然找不到对应文件,因此报错Unable to access jarfile .port=8082。

解决办法

使用符合Java命令语法的正确写法,确保-D系统属性参数放在-jar之前,且-D与属性名之间无空格:

java -Dserver.port=8082 -jar .\target\demoApp-0.0.1-SNAPSHOT.jar

如果确认输入无误仍报错,可排查以下两点:

  • 验证当前工作目录下存在.\target\demoApp-0.0.1-SNAPSHOT.jar,或改用绝对路径指定jar文件,例如:
java -Dserver.port=8082 -jar C:\your-project-path\target\demoApp-0.0.1-SNAPSHOT.jar
  • 检查jar包的打包完整性,确保MANIFEST.MF文件中正确配置了Main-Class属性(指定程序入口类)。

内容的提问来源于stack exchange,提问作者amar2108

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:20:19