首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven配置文件还是spring配置文件?

maven配置文件还是spring配置文件?
EN

Stack Overflow用户
提问于 2012-08-09 00:33:52
回答 5查看 13.1K关注 0票数 36

很多java应用程序都是用maven构建的。maven有Profiles的概念,为不同的环境构建发布包真的很方便。例如,使用不同path / jndiname / security rule / properties filesdev/test/prod ...我想我不需要在这里列出代码来解释它。

Spring是一个非常好的和流行的java开发框架,因为spring3也支持配置文件的概念。

现在问题来了,对于不同的环境目的发布,哪一个更好?现在我更喜欢maven profile。因为spring必须复制每个概要文件中的每个bean定义。它需要一个初始化器/属性来让spring知道哪个配置文件应该被激活。

但我觉得spring profile比maven profile更灵活。

你认为如何?请给我一些建议。谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-09 00:51:48

SpringFramework概要文件将提供构建时解决方案,而Maven概要文件将提供运行时替代方案。我认为这是人们可能会问自己的第一个问题:如果他想要一个可以在不同环境中部署的单个包,或者他是否希望构建工具根据目标环境提供不同的包。

要记住的一件事是,如果您将不同的包部署到不同的服务器中,可能会出现许多问题。例如,在我的工作场所中,如果我正在部署一个包来纠正以前在生产环境中发生的错误,公司的策略会规定,唯一可接受的情况是我在QA和生产服务器中有相同的解决方案包。

票数 40
EN

Stack Overflow用户

发布于 2012-08-09 00:47:07

如果你需要不同的工件,那就用maven吧。如果它只是一个真实的配置,可以在构建构件之后进行配置,那么用户Spring配置文件。

票数 7
EN

Stack Overflow用户

发布于 2012-08-09 01:07:44

正如在其他回复中提到的:这完全取决于您的工作方式:)

在过去几年中,我们使用maven和现在的spring 3.1配置文件得出的结论是:

  • 我们使用maven-release-plugin来削减版本。如果我们使用maven profile,这会导致环境问题,因为我们需要重新构建版本,或者至少需要为每个maven profile
  • 重建标签,所以我们为所有环境创建.war文件,并使用spring PropertyPlaceholderConfigurer来设置应用程序(或一些JNDI资源,具体取决于客户)。这允许只运行一次maven发布。
  • 当环境不同时,spring配置文件也会出现。例如,身份验证服务并非在所有环境中都可用。在这里,我们将该服务存根并将其放入spring配置文件中。我们激活了由我们使用的PropertyPlaceholderConfigurer读取的属性中的弹簧配置文件。

关于如何做到这一点,有一些很好的教程:

  • http://pio-tech.blogspot.ch/2012/01/using-spring-31-bean-definition.html
  • http://steveschols.wordpress.com/2012/06/01/spring-3-1-unified-property-management-before-and-after/

我们通常只使用maven配置文件将构建分为开发人员和持续集成构建的不同部分。我们实际上不再将它们用于.war文件的目标环境。我们仍然使用maven配置文件进行自动化数据库部署,这与web应用程序(数据量、测试数据等)相比有更大的不同,但这些配置文件不是以zip的形式提供的。

当然还有其他的路要走。我不认为这是故事的结束:)

但这可能会有所帮助。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11869064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档