【问题标题】:maven war plugin classifier with different dependencies具有不同依赖项的maven war插件分类器
【发布时间】:2013-06-26 12:54:23
【问题描述】:

以下设置:我有一个 Web 项目和 2 个叠加层。因此我得到了 3 个不同的战争文件。现在有一个默认配置(beans,覆盖属性文件,web.xml),用于生产但也用于测试目的。有时,当为测试目的编写新功能并设置配置值时,忘记了值,它会到达 prod 环境,这很糟糕。

现在我们尝试获得一个或两个更好的配置项目。一个用于保存所有默认值,另一个用于测试。想法是为使用分类器的 3 个 Web 项目中的每一个创建一个额外的 war 文件。

因此应该有一个 myapp.config 工件,其中包含所有默认值和一个 myapp.war 文件,以及一个 myapp-dev.war 文件中的 myapp.config.dev 工件。

由于我还不习惯 maven,所以我在网上搜索了很多关于如何使用 maven war 插件或 maven warpath 插件来实现的方法,但我没有找到解决方案。此外,我不知道这是否是实现此“功能”的正确方法。

谢谢!

【问题讨论】:

    标签: maven build dependencies war classification


    【解决方案1】:

    不要为不同的环境构建不同的工件。理想情况下,您希望将与在测试环境中测试过的相同的战争部署到 prod。否则你会得到测试人员没有发现的错误——为什么,因为构建中的错误使产品战与测试战略有不同,等等。

    人们通常将特定于环境的配置放入尽可能少的文件中。理想情况下只有一个文件,并且有多个副本:

    db-config-dev.properties
    db-config-test.properties
    

    然后在所有环境中为应用服务器启动添加系统属性:

    -Dcom.company.environment=test
    

    最后,一个single 战争在所有环境中的行为方式都相同:它加载并使用 db-config-${com.company.environment}.properties

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多