首页 > 解决方案 > 运行 Maven 构建时如何访问 JAR 中的文件

问题描述

我想通过 liquibase-maven-plugin 运行 liquibase 更新,但变更集 yml 文件位于我通过依赖项引入的 .jar 中。

当我使用 TotalCommander 打开 .jar 时,它具有以下结构:xy.jar/changelog/changeset.yml。

我尝试将其作为资源目录包含在内,但它未能告诉我 .jar 不是目录。

我还尝试构建 WAR 并将 liquibase changeLogFile 属性设置为通向 .jar 的路径,例如 {projectDir}/target/..war/..lib/..jar/changelog/myFile.yml 但 maven 可以不是这样找到的。

是否可以以某种方式访问​​此文件?

标签: javamavenjarwarliquibase

解决方案


您可以使用以下代码读取文件。

InputStream inputStream = getClass().getClassLoader().getResourceAsStream("changelog/myFile.yml");

推荐阅读