【问题标题】:Maven filter src/main/resources of a JAR dependencyMaven 过滤 JAR 依赖项的 src/main/resources
【发布时间】:2013-05-22 16:18:18
【问题描述】:

我的 Maven 顶级项目是指一个 common-db 项目。在这个项目中,我有一个定义 DB 参数的 spring 文件。

但是,我希望顶级项目通过配置文件定义 DB 参数,并将这些参数注入到 /src/main/resources 中的 spring 配置文件中。

顶级项目只对自己的 /src/main/resources 文件进行过滤,而忽略那些位于 JAR 依赖项中的文件。

我该怎么做?

【问题讨论】:

  • 把你的顶级spring配置文件放到同一个classpath位置,所以它会覆盖对应的common-db项目文件
  • 我不想在顶级项目中有任何配置文件。这已经在 common-db 项目中定义了。我有几个项目引用了 db 项目,并且希望这个配置在一个地方而不是几个地方。

标签: maven jar dependencies filtering maven-resources-plugin


【解决方案1】:

所以你想依赖common-db然后修改它的内容来改变配置文件中的参数?好的,如果你真的想这样做,你可以做一些复杂的事情,你使用 dependency:unpack 来扩展 common-db jar,然后覆盖/过滤它的内容,然后使用自定义 jar:jar 执行来重新 jar依赖项并将其与您的应用程序一起提供。

但是,哇——你为什么要跳过所有这些障碍?就像@hoaz 建议的那样,只需将您的应用程序特定配置放在相同的类路径位置,以便在 common-db 的默认配置之前加载它。这是许多 Java 库遵循的约定。

【讨论】:

    猜你喜欢
    • 2015-05-07
    • 2013-08-04
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2020-07-24
    相关资源
    最近更新 更多