V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
skyworker
V2EX  ›  问与答

一个诡异的问题, 接手一个微服务项目, 在 IDEA 中正常, 但是在 vscode 中启动有问题

  •  
  •   skyworker · 40 天前 · 442 次点击
    这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不喜欢用盗版或者伪装成学生用户, 也讨厌 jetbrains 臃肿的全家桶, 所以开发环境很早就切换到了 vscode, 最近用 code-server 的 remote 开发, 只用一个浏览器, 再不用担心 8G 内存不够用了, 这是题外话.

    最近接手一个小项目, 还是很恶心的微服务. clone 下来后, 保险起见, 先用 idea 的一个月 trail, 跑了下项目, 能正常启动, 连 nacos 也没问题, 看来代码库没有毛病. 然后就切 vscode 了("Extension Pack for Java" "Spring Boot Extension Pack" "Lombok Annotations Support for VS Code"之类的插件也安装了), 不出意外, 有意外发生了.

    微服务启动类, 已经配置了端口 7001, 并且在 idea 上也没毛病(所以各种 yml 配置端口是没毛病的), 启动端口正常. 但是在 vscode 上启动的时候, 每次都是跑默认的 8080 端口, 经历 n 次 mvn clean 都无解.

    有没有遇到过类似问题的?
    4 条回复
    skyworker
        1
    skyworker  
    OP
       40 天前
    btw, 甚至在 java 启动参数中, 增加了 -Dserver.port=7001, 这个微服务在 vscode 中, 还是固执的启动到了 8080 端口
    skyworker
        2
    skyworker  
    OP
       40 天前
    然后做了最极端的测试, 微服务打包 jar 后, 直接在命令行加参数:

    java -jar my-cloud-system-start-1.1.0.jar --server.port=7001

    这种情况下, 终于能运行在 7001 端口了, 但是问题根本没解决
    skyworker
        3
    skyworker  
    OP
       40 天前
    找到办法了, 强制在 vscode 的 launche.js 中, 针对这个微服务, 强制加参数(Dserver.port=7001), 类似这样:

    "vmArgs": "-Dserver.port=7001  ....."
    skyworker
        4
    skyworker  
    OP
       40 天前
    至于为什么 vscode 默认启动失败的原因, 未知
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3815 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:14 · PVG 08:14 · LAX 17:14 · JFK 20:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.