【问题标题】:Retrieve property from classpath inside POM从 POM 内的类路径中检索属性
【发布时间】:2010-12-30 12:06:56
【问题描述】:

对于我当前的项目,我想集成一个用于数据库迁移的 maven 插件。但是,要让这个插件工作,我必须在我的 POM 中获取数据库设置。我的数据库设置当前放置在 hibernate.properties 文件中,该文件位于标记为 maven 资源的目录中。由于多种原因,我不想在 pom 和 hibernate.properties 中复制我的数据库配置。

我知道 maven 提供了“过滤”功能,可以将数据库设置指定为我的 POM 中的属性,并在我的 hibernate.properties 中将它们引用为 ${property_name}。但由于我使用多个 Maven 配置文件,具有不同的属性资源,这不是一个合适的解决方案。相反,我希望从我的类路径中的属性文件(例如classpath:hibernate.properties)加载我的数据库配置,并在我的迁移插件配置中使用这些属性。

我已经尝试过 org.codehaus.mojo » properties-maven-plugin,但是这个插件只接受绝对位置。是否有插件可以扫描我所有的 maven 资源以获取某个属性?

【问题讨论】:

  • 这与“git'r'done”快捷方式接壤,无法回答您的问题,但是将您需要的属性作为 -Dprop=value 传递给您的 @ 是否太多了987654324@ 调用?

标签: maven-2 resources properties maven


【解决方案1】:

如果您需要绝对路径,请使用${basedir}/your/relative/path/here/...${basedir}展开为当前pom.xml所在目录的绝对路径。

【讨论】:

  • 我的属性文件位于 x 数量的 (mvn) 资源上。我不能只说 ${basedir}/my_dir,因为 my_dir 可以根据我运行 mvn 项目的配置文件而有所不同。
  • 所以?为每个配置文件定义一个属性并在其中使用 ${basedir} 来构建路径。
猜你喜欢
  • 2013-09-24
  • 2013-06-16
  • 2020-01-06
  • 2020-08-21
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
相关资源
最近更新 更多