首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于部署的Maven、Java和自定义文件

用于部署的Maven、Java和自定义文件
EN

Stack Overflow用户
提问于 2010-05-20 07:22:18
回答 5查看 433关注 0票数 2

我有一个由Maven2管理的Java项目。我试图解决的场景如下:在开发模式下,我需要使用一些配置文件(例如,为开发环境配置的hibernate.cfg.xml ),而在生产模式下,我需要排除所有开发特定的文件和配置,并为我的生产环境获取一些其他文件和配置。我该如何处理这种情况?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-20 07:39:25

这个问题没有唯一的答案,有很多方法来处理这种情况:

  • 使用配置文件和filtering
  • using配置文件以及各种过滤器文件
  • 使用不同的配置文件并在构建时从中挑选一个
  • 使用不同目录中的特定于环境的文件并构建各种风格的

选择一个或另一个解决方案取决于您的确切需求。

另请参阅

  • A Maven2 multi-environment filter setup
  • 5.5. Tips and Tricks
  • One artifact with multiple configurations in Maven
  • Maven - Building For Different Environments with Maven 2
票数 1
EN

Stack Overflow用户

发布于 2010-05-22 02:03:00

最好的方法是简单地使用one spring配置文件。Spring是java应用程序配置和依赖注入的最佳选择。事实上,Spring开箱即支持hibernate,因此两者很容易协同工作。完成后,您可以使用属性值占位符,然后根据运行应用程序的环境配置Spring 'PropertyPlaceholderConfigurer‘来加载不同的.properties文件。这些占位符的用法示例如下:

代码语言:javascript
复制
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName"><value>${driver}</value></property>
  <property name="url"><value>jdbc:${dbname}</value></property>
</bean>

here是一个很好的例子,说明了如何将这一切连接在一起。

票数 1
EN

Stack Overflow用户

发布于 2010-09-26 01:23:29

我已经使用Spring的PropertyPlaceholderConfigurer处理了这个问题,并在类路径上包含了属性文件,在文件系统中包含了一个:

代码语言:javascript
复制
<context:property-placeholder 
    location="classpath*:META-INF/spring/*.properties,file:myapp*.properties"/>

当应用程序启动(或运行测试等)时,当前目录中是否存在myapp*.properties文件。它将覆盖来自war/ear/war中的文件的属性。

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

https://stackoverflow.com/questions/2870115

复制
相关文章

相似问题

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