You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在VSCode中添加YML文件及解决Java项目Maven打包YAML丢失问题

我来一步步帮你解决这两个问题:

1. 如何在VSCode中为项目添加YML/YAML文件
  • 打开你的项目目录:在VSCode左侧的资源管理器里,定位到你想添加文件的目标文件夹(比如Java项目里的src/main/resources,这是标准资源文件目录)。
  • 右键点击该文件夹,选择新建文件
  • 输入文件名,比如application.yml或者config.yaml——.yml.yaml都是合法的YAML后缀,选哪个都可以。
  • 回车创建后就能编写配置内容了。如果VSCode没自动开启语法高亮,点击右下角的语言模式,手动选择YAML即可。
2. 解决Java Maven项目中YAML文件的打包问题(含感叹号异常)

你遇到的感叹号和jar中找不到文件的问题,本质是Maven没把YAML文件识别为资源文件,所以打包时没包含进去,感叹号是VSCode提示该文件不在Maven的资源管理范围内。下面是具体解决步骤:

第一步:确认文件存放位置

Java Maven项目的资源文件默认应该放在src/main/resources(生产环境)或src/test/resources(测试环境)。如果你的YAML在其他目录,Maven默认不会处理它,需要额外配置。

第二步:配置Maven资源插件(修改pom.xml)

打开项目根目录的pom.xml,找到<build>节点(没有的话就新建),添加以下配置,确保YAML文件被纳入打包范围:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.yaml</include>
                <include>**/*.yml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
        <!-- 如果你的YAML在其他目录,比如src/main/config,就添加这个节点 -->
        <!--
        <resource>
            <directory>src/main/config</directory>
            <includes>
                <include>**/*.yaml</include>
                <include>**/*.yml</include>
            </includes>
        </resource>
        -->
    </resources>
</build>

这段配置告诉Maven:把指定目录下所有.yaml.yml文件都当作资源文件,打包时会复制到jar的classes目录下。

第三步:刷新Maven并重新打包

  • 在VSCode的Maven面板(左侧边栏的Maven图标)里,点击你的项目,选择Reload Projects,让Maven加载新配置。
  • 终端执行mvn clean package命令,或者在Maven面板点击package目标完成打包。
  • 打包后去target目录打开生成的jar文件,就能看到YAML文件已经被包含在内了。

第四步:消除文件上的感叹号

配置完pom.xml并刷新Maven后,VSCode会自动识别该文件为资源文件,感叹号通常会消失。如果还在:

  • 关闭并重新打开VSCode。
  • Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Developer: Reload Window重新加载窗口。

额外提醒

  • 确保YAML文件语法正确,语法错误可能会有其他提示(比如波浪线),但不是感叹号的原因。
  • 如果是Spring Boot项目,src/main/resources下的application.yml/application.yaml会被自动识别,不需要额外配置,但自定义名称的YAML只要在资源目录下,Maven也会打包进去。

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

火山引擎 最新活动