java - 运行 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 可以不是这样找到的。
是否可以以某种方式访问此文件?
解决方案
您可以使用以下代码读取文件。
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("changelog/myFile.yml");
推荐阅读
- deep-linking - TestFlight 应用程序的通用链接支持
- kubernetes - 如何重定向 Ansible 以使用角色目录中的文件?
- python - 高效地向前端 gui 发送消息
- vega-lite - Vega 无法从 python `time.time()` 正确读取时间戳
- java - Java Spring,解组动态json
- python - 对于大型项目列表,我怎样才能使其更具可扩展性?
- django - 自定义 django 管理员更改表单
- mysql - 将RMD编成HTML突然删除密码认证
- arrays - Magento 2:如何在 UI 组件中使用参数实现验证
- python - Matplotlib EllipseSelector - 如何获取路径?