maven-2 - 如何根据我的个人资料更改 maven 中的 .properties 文件?

标签 maven-2 properties

如何根据我的个人资料更改 maven 中的 .properties 文件?取决于应用程序是构建为在工作站上运行还是文件 my_config.properties 的数据中心部分更改(但不是全部)。

目前,我在 hudson 构建每个版本后手动更改 .war 文件中的 .properties 文件。

最佳答案

通常,有几种方法可以实现这种事情。但它们中的大多数都是围绕相同功能的变体:配置文件和 过滤 .我将展示最简单的方法。

首先,启用资源过滤:

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

然后,在您的 src/main/resources/my_config.properties 中声明一个占位符, 例如:
myprop1 = somevalue
myprop2 = ${foo.bar}

最后,在配置文件中声明属性及其值:
<project>
  ...
  <profiles>
    <profile>
      <id>env-dev</id>
      <activation>
        <property>
          <name>env</name>
          <value>dev</value>
        </property>
      </activation>
      <properties>
        <foo.bar>othervalue</foo.bar>
      </properties>
    </profile>
    ...
  </profiles>
</project>

并使用给定的配置文件运行 maven:

$ mvn 进程资源-Denv=dev
[INFO] 正在扫描项目...
...
$ cat 目标/类/my_config.properties
myprop1 = 某个值
myprop2 = 其他值

正如我所说,这种方法有一些变化(例如,您可以将值放置在文件中进行过滤),但这会让您入门。

引用
  • Introduction to Build Profiles
  • Maven Resources Filtering

  • 更多资源
  • A Maven2 multi-environment filter setup
  • Maven project filtering
  • Using Maven profiles and resource filtering
  • Building For Different Environments with Maven 2
  • 关于maven-2 - 如何根据我的个人资料更改 maven 中的 .properties 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868310/

    相关文章:

    objective-c - 具有读写和只读属性的 'property' 、 '_property' 、 'self.property' 和 'self._property' 之间有什么区别?

    c# - 带有只读 getter 的属性有什么好处?

    java 仅将非空修改属性值从一个对象复制到另一个对象

    java - 编译maven项目

    java - 直接从源代码创建 Web 服务客户端

    maven-2 - Nexus 支持批量上传工件吗?

    maven-2 - Maven编译: removing obsolete class files from target

    PHP OOP:为什么 self::$$property[$key] 不起作用?

    maven-2 - 我找不到maven插件org.maven.ide.eclipse :lifecycle-mapping 0. 9.9-SNAPSHOT

    javascript - 通过变量访问嵌套的 Javascript JSON 属性