热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

maven配置文件内嵌

增加Maven构建profile配置在项目最顶层的pom.xml添加common和release两个profile,并声明${app.run.env}作为环境切换变量<profiles>

增加Maven构建profile配置

在项目最顶层的pom.xml添加common和release两个profile,并声明${app.run.env}作为环境切换变量




common

true


common



release
release



注意在修改profile时,需要确定现有的properties和profile配置,避免冲突或者遗漏


使用Maven filter

在war工程pom文件或顶层父pom文件中增加resources filter配置




src/main/resources
true



修改输出的war包名称为应用的名称,如basis,这个名称要严格对应到应用名和tomcat的contextpath


//..
basis

内嵌配置文件

  • 拷贝线下配置文件:src/main/resources/META-INF/config/env-common/app-config.properties
  • 拷贝线上配置文件:src/main/resources/META-INF/config/env-release/app-config.properties

修改配置文件位置

  • 文件web.xml中可能存在配置文件初始化,注意替换
  • 文件src/main/resources/META-INF/spring/applicationContext.xml

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

classpath:META-INF/config/env-${app.run.env}/app-config.properties

日志配置修改

  • web.xml中配置log4j.xml或logback


log4jConfigLocation
classpath:META-INF/config/env-${app.run.env}/log4j.xml



logbackConfigLocation
classpath:META-INF/config/env-${app.run.env}/logback.xml

  • 拷贝log4j.xml或logback.xml文件到src/main/resources/META-INF/config/env-common或env-release下面
  • 修改日志文件编码为UTF-8
  • 修改日志文件目录为/opt/logs/${project.build.finalName}/${project.build.finalName}.log
  • 删除原先划分的各种appender,所有日志输出合并到同一个文件即可 /opt/logs/${project.build.finalName}/${project.build.finalName}.log

若两个环境的log配置文件没有差别,可以直接放在META-INF/config下,或者使用maven filter来替换文件中的部分变量,如level

tomcat jdbc连接池配置(如果系统没有使用tomcat的jdbc连接,忽略此配置)

  • context.xml拷贝, 如果系统没有使用tomcat的jdbc连接,忽略此配置



org.apache.maven.plugins
maven-antrun-plugin
1.6


assembly-deploy-package
prepare-package

run



tofile="${project.build.directory}/${project.build.finalName}/META-INF/context.xml" overwrite="true"/>







  • 拷贝线下context文件, 如果系统没有使用tomcat的jdbc连接,忽略此配置:/src/main/resources/META-INF/config/env-common/context.xml

  • 拷贝线上context文件, 如果系统没有使用tomcat的jdbc连接,忽略此配置:/src/main/resources/META-INF/config/env-release/context.xml




推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • andr ... [详细]
  • 解决Element UI中Select组件创建条目为空时报错的问题
    本文介绍如何在Element UI的Select组件中使用allow-create属性创建新条目,并处理创建条目为空时出现的错误。我们将详细说明filterable属性的必要性,以及default-first-option属性的作用。 ... [详细]
  • 本文详细介绍了如何在ECharts中使用线性渐变色,通过echarts.graphic.LinearGradient方法实现。文章不仅提供了完整的代码示例,还解释了各个参数的具体含义及其应用场景。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
author-avatar
王振cmcc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有