2009-12-28 89 views
1

对于我当前的项目,我想集成一个用于数据库迁移的maven插件。但是,为了使此插件正常工作,我必须获取POM中的数据库设置。我的数据库设置目前放置在hibernate.properties文件中,位于标记为maven资源的目录中。由于各种原因,我不想在pom和hibernate.properties中复制我的数据库配置。从POM中的classpath中检索属性

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

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

+0

这是一个“git'r'done”快捷方式的边界,并不回答你的问题,但是将你需要的属性作为-Dprop = value传递给你的'mvn'调用是否太多了? – whaley 2010-05-30 13:56:24

回答

0

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

+0

我的属性文件位于x数量的(mvn)资源中。我不能只说$ {basedir}/my_dir,因为my_dir可以根据我在其上运行我的mvn项目的配置文件而变化。 – Jeroen 2009-12-28 15:29:13

+1

那么?为每个配置文件定义一个属性,并使用$ {basedir}来构建路径。 – 2009-12-28 20:51:40