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

Windows10下Maven+Jetty运行Java应用遇503及UnknownHostException问题

Windows 10下运行9年历史Java应用的Spring Bean创建异常及503错误解决

执行命令mvn -Dluke.confdir=file://C:\ecoconfig\ecomodules-calculation.conf jetty:run时触发Spring Bean创建异常,根因是java.net.UnknownHostException: C。尝试修改路径格式(单反斜杠、加引号)无效,访问localhost:8080/和localhost:8080/index.html均返回HTTP 503服务不可用。已按前开发者说明填写配置文件,仅修改了jdbc.username、jdbc.password和jwt.secret,无Java开发经验。

环境信息

  • java -version输出:
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.392-b08, mixed mode)
  • javac -version输出:
javac 1.8.0_392
  • mvn -version输出:
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: C:\Program Files\Maven\apache-maven-3.9.6
Java version: 1.8.0_392, vendor: Temurin, runtime: C:\Program Files\Java\jdk-8.0.392.8\jre
Default locale: fi_FI, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

关键配置

  • applicationContext.xml片段:
<util:properties id="propertyConfigurer" location="${luke.confdir}/ecomodules-calculation.conf" />
  • 配置文件ecomodules-calculation.conf:
jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/ecomodules?currentSchema=ecomodules
# Database username. Probably ecomodules. Configure as appropriate.
jdbc.username=correct_username
# Database user password. Configure as appropriate.
jdbc.password=correct_password

# Generate at least 256-bit key here
# example using openssl command:
# openssl rand -base64 32
# for convenience, here is one: /e+Azj4FkSAhlwtg0yyvcUPulrtxS66pRgvF04vNvvg=
# do not use it for other than local dev environments since it's not a platform secret
jwt.secret=7e+Azj4FkSAhlwtg0yyvcUPulrtxS66pRgvF04vNvvgt
jwt.issuer=Luonnonvarakeskus
jwt.cookieName=ECOMODULES_COOKIE
jwt.ttl=P7D

# SMTP service hostname for forgot password mechanism. smtprelay.ns.luke.fi in luke internal usage
#spring.mail.host=
#spring.mail.port=25

问题定位与解决步骤

核心问题

  1. 路径格式错误:file://C:\ecoconfig\ecomodules-calculation.conf被Java误解析为主机名C,因为Windows下文件URL需要三个斜杠前缀(file:///),且盘符需用正斜杠,反斜杠未转义也会导致解析异常。
  2. 参数指向错误:luke.confdir应该是配置文件所在的目录路径,但你直接指向了配置文件,结合applicationContext.xml的路径拼接规则,会生成无效路径。

修正启动命令

使用以下任一正确命令启动应用:

# 文件URL格式(规范写法)
mvn -Dluke.confdir=file:///C:/ecoconfig jetty:run
# 本地路径格式(更简洁,Spring会自动识别)
mvn -Dluke.confdir=C:/ecoconfig jetty:run
# 路径包含空格时添加引号
mvn -Dluke.confdir="C:/ecoconfig" jetty:run

后续验证

  1. 执行命令后,检查日志是否消除UnknownHostException,确认配置文件加载正常。
  2. 确保PostgreSQL服务处于运行状态,数据库ecomodules已创建,jdbc.username和jdbc.password配置正确。
  3. 应用启动成功后,localhost:8080即可正常访问,503错误会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:55:58