`

java web application中将配置文件和.war文件分离

 
阅读更多
http://blog.sina.com.cn/s/blog_6b19f21d01015594.html
将webapp的配置文件存放于生成的.war文件中会造成部署中的很多不便,
尤其是在升级的时候。

下面提供一种简单的方法将配置文件从.war中分离出去。

1. 在WEB-INF/web.xml中定义一个context-param元素,指向配置文件的本地路径,
   例如:
  <contex-param>  
    <param-name>customConfigDir</param-name>
    <param-value>file:/usr/local/webapp_conf/registryService</param-value>
  </context-param>


2. 在spring中配置property configurer
  <bean id="propertyConfigurer"   
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
      <list> 
        <value>${customConfigDir}/jdbc.properties</value>
      </list> 
    </property> 
  </bean> 

  
OK,完成,很简单。

如果部署人员需要自定义配置目录,则可以修改webapp的Context Descriptor。以tomcat为例:
在如下目录${CATALINA_HOME}/conf/Catalina/localhost/下建立[webapp_name].xml,这里是
registryService.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Parameter name="customConfigDir" value="classpath:" override="false"/>
</Context>
分享到:
评论

相关推荐

    IDEA WEB项目启动不加载application.properties配置文件.docx

    "IDEA WEB项目启动不加载application.properties配置文件" 在本篇文章中,我们将讨论IDEA WEB项目启动不加载application.properties配置文件的问题。这个问题可能是由于项目中使用的SpringBoot版本不一致引起的。...

    nacos 配置文件 application.properties

    nacos-server-2.4.1配置文件详细配置

    application.xml配置文件详解

    application.xml配置文件详解 application.xml配置文件详解 application.xml配置文件详解

    FCKeditor_2.6.5.zip,fckeditor-java-demo-2.5.war

    WAR(Web Application Archive)文件是Java Web应用程序的标准打包格式,可以直接部署到支持Servlet的Web服务器上,如Tomcat或Jetty。这个演示程序提供了如何在Java应用中集成FCKeditor的实例,开发者可以通过运行这...

    rocketmq-console.war 3.2.6 管控台war包

    "rocketmq-console.war"是一个WAR(Web Application Archive)文件,它是Java Web应用程序的标准打包格式。这个文件可以被部署到支持Java Servlet的任何Web容器中,如Tomcat、Jetty等。部署后,它将自动展开并运行...

    ds-console.war blazeds.war samples.war

    在IT行业中,尤其是在Java Web应用领域,`war`文件是一种非常常见的格式,它代表了"Web应用程序归档"(Web Application Archive)。`war`文件是Java EE标准的一部分,用于打包和部署Web应用程序。这里提到的三个文件...

    Spring Boot技术知识点:如何获取application.yml配置文件里的相关属性(方法2)

    在这个主题中,我们将深入探讨如何利用Java代码从`application.yml`配置文件中获取相关属性,采用的是方法2。 首先,我们需要了解`application.yml`文件的结构。这是一种YAML格式的文件,它允许我们以键值对的形式...

    jetty axis2.war

    **Jetty Axis2.war详解** Jetty是一个轻量级且高效的开源Java Web服务器和Servlet容器,它允许开发者快速地部署和管理Web应用程序...正确部署和配置这个WAR文件,可以极大地提升Java Web服务的开发效率和测试便捷性。

    dubbo-admin.war.zip

    首先,`dubbo-admin.war`是一个Web应用的归档文件,它遵循WAR(Web Application Archive)格式,是Java Web应用程序的标准打包方式。当我们下载并解压这个文件后,可以通过部署到Tomcat等Servlet容器来运行,提供一...

    java web文件的上传和下载.pdf

    ### Java Web 文件的上传与下载 #### 12.1 文件上传原理 文件上传是许多Web应用程序中的常见功能。从用户界面来看,文件上传过程似乎很简单:用户选择一个或多个文件,然后通过表单提交到服务器。然而,在后台,这...

    WebApplication1.zip

    在实际的Web应用中,这个目录下可能包含以下子目录和文件: 1. **index.html** - 这是Web应用的主页,通常用于启动应用程序。 2. **CSS** 目录 - 包含所有的样式表文件,用于定义页面的布局和样式。 3. **JS** 目录...

    cas-server-webapp-4.0.0.war.zip

    WAR(Web Application Archive)文件是Java EE中用于打包Web应用的标准格式,它包含了Servlets、JSPs、静态资源(如HTML、CSS、JavaScript)以及Web应用的配置文件。"cas-server-webapp-4.0.0.war"包含的是CAS...

    读取war包或jar包内的文件

    在Java开发中,有时我们需要在运行时访问或者操作WAR(Web Application Archive)包或JAR(Java Archive)包内的文件。这些文件可能包括配置文件、静态资源、类文件等。标题"读取war包或jar包内的文件"涉及到的知识...

    nexus.war.zip

    这种文件格式是WAR(Web Application Archive),它包含了构成一个完整Web应用的所有必要组件,比如HTML、CSS、JavaScript、Java类、JSP文件以及配置文件等。在本例中,"nexus"很可能是一个开源的软件仓库管理工具,...

    helloworld.war

    Manning.Struts.2.in.Action 's example HelloWorld.war provides a convenient example of a minimal Struts 2 application

    activiti 5.22完整包下载 activiti-explorer.war

    WAR 文件是 Web 应用程序档案(Web Application Archive)的缩写,是 Java Web 应用的标准打包格式,可以部署到任何支持 Java Servlet 的应用服务器上。 在 Activiti 5.22 中,"activiti-explorer" 是一个用户界面...

    war包添加配置文件设置.docx

    在Spring Boot项目中,打包成WAR文件并将其部署到Tomcat服务器时,有时我们需要将配置文件放置在Tomcat的`conf`目录下,以便于统一管理和更新。这个过程涉及到Spring Boot的自定义环境处理器...

    信息: Deploying web application directory lx01

    4. **配置错误**:在`web.xml`配置文件中,可能错误地指定了监听器类名,或者`web.xml`没有正确地包含在部署的WAR文件中。 错误进一步导致了`listenerStart`阶段的失败,这意味着应用程序的启动监听器无法正确配置...

    The-WEB-Application-Development-JAVA.rar_The Web

    WAR(Web ARchive)文件是Java Web应用的标准打包格式,包含了所有必需的资源和配置文件。 综上所述,这个压缩包可能包含了一个关于如何使用Java进行Web应用开发的文档,涵盖了从基础的HTML和JavaScript,到更复杂...

Global site tag (gtag.js) - Google Analytics