Maven读取属性文件中的环境变量

2024-02-04

如何读取属性文件中的系统环境变量。我正在使用 MyBatis maven 插件进行数据库迁移。 MyBatis 根据环境使用属性文件。我正在尝试读取属性文件中的环境变量,例如:

开发.property

username=${env.username}
password=${env.password}

Error: FATAL: role "${env.username}" does not exist

我将用户名和密码存储在 Mac 上的“.profile”文件中。读取这些变量的正确方法是什么?


您可能应该首先使用 Maven 资源插件过滤属性文件。之后 myBatis 插件应该按预期工作。

参见以下内容gist https://gist.github.com/Waxolunist/4967241bd8c7a46a47c9170880280439资源插件的一个简短示例。

开发.property

# place in src/main/resources
username=${env.username}
password=${env.password}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.stackoverflow</groupId>
    <artifactId>question-48693420</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

命令行:

username=user1 password=pass1 mvn resources:resources && cat target/classes/development.properties

控制台日志:

(...)
[INFO] --- maven-resources-plugin:2.3:resources (default-cli) @ question-48693420 ---
(...)
[INFO] Copying 1 resource
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
(...)

username=user1
password=pass1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven读取属性文件中的环境变量 的相关文章

  • Hibernate中通过ID获取对象

    我注意到我们的高级开发人员使用以下代码通过 ID 检索实体 Override public Source get Long id Session session getSession if session null session sess
  • maven依赖插件忽略依赖版本? [复制]

    这个问题在这里已经有答案了 在我看来 maven 依赖插件在计算依赖列表时行为不当 假设这 3 个项目 base1
  • 二维数组列表

    我听说过使用这样的二维数组 String strArr 但是有什么方法可以用列表来做到这一点吗 也许是这样的 ArrayList
  • 正则表达式删除2个字符串之间的所有内容

    我的replaceAll 需要一个正则表达式来删除2 个字符串和字符串本身之间的所有内容 例如 如果我有类似的东西 stackoverflow is really awesome nremove123 n I love it 我试图做一个像
  • ffmpeg 用于屏幕捕获?

    所以我有一个小程序来捕获屏幕和计算机麦克风的声音 然后屏幕截图被编码为 ScreenVideo2 声音被编码为 AAC 如何使用 ffmpeg 逐帧混合 然后将混合输出发送到 wowza 媒体服务器 如果用ffmpeg无法完成 您能提供一些
  • Java 数组返回奇怪的输出[重复]

    这个问题在这里已经有答案了 我正在为家庭作业问题创建一个方法 该方法返回数组中的最高值 我正在使用一个 for循环将数字输入到数组中 输入代码如下所示 int array new int n for i 0 i
  • 在JPA、关系型数据库等中,什么是Tuple? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在研究 Hibernate 和 JPA 并且一直在寻找这个术语 有人可以用实用和说教的方式向我解释一下这个术语是什么 以及它与 J
  • 将resourceBundle与外部文件java一起使用

    我一直在阅读有关此问题的其他问题和答案 但我不明白资源边界是如何完全工作的 我认为这与 Joomla 使用多语言选项的方式类似 基本上 您有要阅读的不同语言的不同消息的文件 所以我在 src Lang 文件夹中创建了 System prop
  • 如何从github项目获取jar? [复制]

    这个问题在这里已经有答案了 我想使用官方网站上的 kSoap2 android 库http simpligility github io ksoap2 android index html http simpligility github
  • 运行 Maven Surefire 测试插件 Java 11 时出错

    我正在使用 Maven Surefire 插件版本 2 22 1 在 Team City 中运行 Spring Boot 应用程序的一些测试 Spring Boot 版本是 2 1 2 我在配置中指定使用分叉的 Java 11 jvm 如下
  • indexoutofboundException :setSpan (2...2) 结束长度超出长度 1

    I ve a MultiAutoCompleteTextView当用户按空格键时 我在其中创建芯片文本的自定义控件 我不希望用户在文本框为空时最初输入空格 所以我放了一个inputFilter以防止用户最初放置空格 这是过滤器代码 priv
  • pom.xml中的artifactId和groupId有什么区别?

    您如何用一些现实世界的组织示例 例如 Facebook 公司或 Google 公司 向新手 Web 开发人员或程序员解释它 来自 maven apache org 命名约定 https maven apache org guides min
  • CoreNLP 如何识别小写的命名实体,例如 kobe bryant?

    我遇到一个问题 CoreNLP 只能识别以大写字符开头的命名实体 例如科比 布莱恩特 Kobe Bryant 但无法识别科比 布莱恩特 kobe bryant 作为一个人 那么CoreNLP如何识别以小写字符开头的命名实体 赞赏它 首先 您
  • 如何将java数组列表转换为javascript数组? [复制]

    这个问题在这里已经有答案了 我们如何将 String 对象的 java arraylist 转换为 javascript 数组 这就是我正在做的事情 但我正在寻找更好的方法来做到这一点 我不想迭代数组列表 var myArray
  • 如何使用 Spring 状态机在状态转换期间引发异常

    我试图了解状态转换期间操作如何抛出异常 我配置了这个简单的状态机 transitions withExternal source State A1 target State A2 event Event E1 action executeA
  • 如何使用 Jersey 的内部路由机制来提取类/方法引用?

    我正在运行 Jersey 1 8 应用程序 Jersey 作为 Servlet 运行 我需要写一个小服务程序过滤器给定一个简单的请求 响应 能够确定哪个 REST 资源 方法将响应该请求并从注释中提取值 例如 假设我有以下资源 Path f
  • 改造 POST java.io.IOException:由 java.io.EOFException 引起的连接上的流意外结束:\n 未找到:

    我已经解决了与此相关的所有问题 但尚未找到适合我的解决方案 我在用着retrofit 2 8 1 and OkHttp 4 5 0 我的服务界面如下所示 public interface MlApiService POST Multipar
  • Java 到 ruby​​ AES/ECB/PKCS5Padding 加密

    我有一个使用第三方支付门户的在线电子商务网站 支付门户一直运行良好 直到第三方支付门户要求每个人开始使用带有其他支付参数的哈希密钥 现在的问题是第三方支付门户只提供了一页文档来实现哈希密钥 这是提供的文档 加密演算法 为了减少数据传输和发布
  • 使用 Android API 发布推文

    我一直在寻找一种使用 Android 应用程序发布推文的方法 但我发现的所有方法都不起作用 我不得不承认 Twitter 的 API 并不是那么容易理解 但是我的代码并不长 而且我看不出我的错误在哪里 这是我的代码 public class
  • 解压缩 GZIP http 响应(使用 jersey 客户端 api、java)

    有人可以告诉我在从某些 Http 调用获取响应时需要做什么才能解压缩 GZIP 内容吗 为了进行调用 我使用 Jersey Client API 请参阅下面的代码 String baseURI http api stackoverflow

随机推荐

  • Python 中的 Numba jit 警告解释

    我已经定义了以下递归数组生成器 并使用 Numba jit 来尝试加速处理 基于这个答案 https stackoverflow com questions 4407984 is it possible to vectorize recur
  • Python JSON 序列化 Decimal 对象

    我有一个Decimal 3 9 作为对象的一部分 并希望将其编码为 JSON 字符串 该字符串应如下所示 x 3 9 我不关心客户端的精度 所以浮动就可以了 有没有好的方法来序列化这个 JSONDecoder 不接受 Decimal 对象
  • Xeon CPU (E5-2603) 向后内存预取

    Xeon CPU E5 2603 中的向后内存预取与向前内存预取一样快吗 我想实现一种需要对数据进行前向循环和后向循环的算法 由于每次迭代都需要上次迭代的结果 因此我无法反转循环的顺序 您可以运行实验来确定数据预取器是否能够处理前向顺序访问
  • 在 JavaScript 中将字符串转换为日期

    我有一个看起来像这样的字符串 2013 1 16 有什么方法可以快速将其转换为 JavaScript 中的日期对象 例如 convertToDateTime 2013 1 16 yyyy MM dd 这很简单 var myDate new
  • 通过python获取{}内文件的路径

    我有一个代码 我只想返回 X Y Z C X Y Z D X Y Z E 无论 tree 之后是什么 它实际上应该读取文件 忽略所有内容 直到看到 WFS 然后获取 中的信息 找到树 然后给我返回的路径 我是 Python 初学者 匹配模式
  • 如何从 JSF 组件获取验证状态

    我想将一个特殊的错误类设置为 div 块到我的 JSF 自定义组件中 如果此字段验证失败 我想将 errorClass 设置为 错误
  • log4j-over-slf4j.jar 和 slf4j-log4j12.jar 冲突...但我没有 log4j-over-slf4j

    我在我的 Maven 项目中使用 SLF4J 和 log4j 当我在eclipse中的tomcat中运行项目以及使用tomcat maven插件在maven中运行项目时 一切正常 但是当我将战争放入我的 tomcat 生产服务器时 该项目无
  • 如何检查对象是否具有存储的属性?

    我需要检查对象的类是否有可用于赋值的成员 假设有一个类 class MyClass NSObject var myVar AnyObject 我尝试了这种 objC 风格 但 Swift 中的属性是不同的野兽 第二行总是返回 false l
  • 使用 Gradle 选择带有 Branchname 的版本作为分类器

    我正在评估我们项目的 gradle 我们有多个包含小型实用程序库的小项目 大多数项目都位于额外的存储库中 无法使用共享的构建脚本 当跨多个项目工作时 使用相同的功能分支 我已经设法让 gradle 将分支名称作为分类器放入创建的 Maven
  • Tree 实现 Foldable FoldMap 时,Foldr/Foldl 是免费的吗?

    我是 Haskell 的初学者 正在从 Learn You a Haskell 学习 有件事我不明白Tree实施Foldable instance F Foldable Tree where foldMap f Empty mempty f
  • 使用 Visual Studio 2008 使用 C++ 连接到 MS Access 数据库

    我需要一些认真的帮助来尝试使用 VS 2008 的 C 连接到 Access 数据库 我已经在 C 中做到了这一点 但我无法在 C 中弄清楚这一点 我需要使用 C 进行连接 因为我正在使用预编译的 C 代码获取数据 我真的很感激一些帮助 谢
  • 在WPF应用程序中动态创建按钮列表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我即将开发我的第一个 WPF 我想获得按钮列表 这些按钮由 WPF 顶部的一个 添加 按钮生成 因此 当我按 添加 时 列表中会出现一
  • 任务控制选项 - 自定义条件 - 在先前失败或超时时运行任务

    是否有一个选项可以设置自定义条件来测试上一个任务是否失败或超时 目前 我正在使用Only when a previous task has failed当任务失败时它会起作用 如果任务超时 则不会将其视为错误并会跳过 那么我需要一个自定义条
  • Dart 确保类中的可选布尔值不为空

    由于它是一个可选值 有时会为空 那么如何避免它抛出错误呢 这是唯一的方法吗 class QText extends StatelessWidget QText this text this size this bold final Stri
  • 将第二个项目添加到堆栈窗格时,第一个项目会丢失其 Event/MouseOn。为什么?我该如何修复? JavaFX

    我有一个堆栈窗格 当我将第二个项目添加到堆栈窗格时 两者都会显示 但我无法再单击第一个项目 它变得 不可点击 我在 setonmouse 中定义的内容不起作用 它适用于我的第二个项目 如果我切换它们在堆栈窗格中的顺序 则另一个可以工作 但不
  • 在 OS X 中创建目录硬链接的 Unix 命令是什么?

    如何在 OS X 中创建指向目录的硬链接 而不是符号链接或 Mac OS 别名 我已经知道命令 ln target destination 但仅当目标是文件时才有效 我知道 Mac OS 与其他 Unix 环境不同 允许硬链接到文件夹 例如
  • JMS事务

    数据库事务是一个熟悉的概念 try updateDB commit catch error rollback 如果发生任何错误 updateDB 所做的任何更改都将被丢弃 我想知道消息队列事务回滚将撤消什么 try EDIT swapped
  • 角度引导模式在输入点击时打开

    在我的控制器中我有方法 scope openJukeboxesModalToGroup 打开模式弹出窗口 scope search Jukeboxes 在页面上搜索 scope keyPressed 捕获按键 在带有表格的部分
  • Git 包文件被截断

    当尝试将 Egit 与 Eclipse 一起使用时 我随机收到错误 包文件被截断 我不知道这是如何以及为何发生的 即使再次导入项目也没有帮助 这里有什么问题 我遇到了同样的错误 并认识到当我尝试在 Eclipse 中导入并打开本地 git
  • Maven读取属性文件中的环境变量

    如何读取属性文件中的系统环境变量 我正在使用 MyBatis maven 插件进行数据库迁移 MyBatis 根据环境使用属性文件 我正在尝试读取属性文件中的环境变量 例如 开发 property username env username