【问题标题】:Create two profiles and use them in Java class创建两个配置文件并在 Java 类中使用它们
【发布时间】:2016-06-04 07:33:40
【问题描述】:

如何使用两个 Maven 配置文件,例如 <id = env>,其中将包含 idpasswordaccount#,它们会将这些值传递给 .java 类,在 Maven 命令行中,我只运行类似:

mvn test ${env=stage}

它将从我选择的配置文件中获取idpasswordaccount#。或者可能有其他不使用配置文件的方法?

【问题讨论】:

标签: maven


【解决方案1】:

一般情况下,您可以在 Maven 中声明 properties。您可以通过不同的方式设置它们:

  • 命令行:

    mvn ... -DmyProperty=myValue
    
  • 在 POM 或 settings.xml<properties> 部分中(仅在 <profile> 部分中),例如:

    <profile>
      <id>stage</id>
    
      <properties>
        <user>you</user>
        <password>your</password>
        <accountNo>42</accountNo> 
      </properties>
    <profile>
    

在命令行上激活配置文件:

mvn ... -Pstage ...

或使用文档Maven, Introduction to Build Profiles 中描述的其他激活机制之一。

将 POM 中的属性与 ${user}${password}${accountNo} 一起使用。

【讨论】:

  • Use properties in your POM with ${user}, ${password}, ${accountNo}. 之后如何在我的 .java 类中使用这些值。应该是这样的:String id = ${user} 或者这个 id 我应该放在属性文件中,然后在 java 类中调用它?
  • @IlyaG 这取决于您是否想要/需要在您的课程或外部属性文件中对其进行硬编码。后者是常态。在 Maven 中有一种称为 Resource Filtering 的机制(恕我直言,这是个坏名字,因为使用过滤器可以解决问题。Resource Interpolation 会更合适。)另见 Filtering source code in Maven
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 2020-06-12
相关资源
最近更新 更多