参考地址:https://blog.csdn.net/xlxxcc/article/details/51979824
在jee的web系统中使用了单点登录SSO。系统有几个环境:开发(dev)、测试(test)和线上(online)。在web.xml里面的sso的url各个环境是不一样的,但是web.xml只有一份,要是部署到不同的环境下该如何处理呢?
看一下上面的参考文章。
解决方案:
1、在web.xml里面将变化的内容使用占位符(placeholder)。
2、在maven的pom.xml里面使用下面的插件替换占位符
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
3、在maven的pom.xml里面为各个环境定义profile,用来设置web.xml里面占位符需要替换的内容。
pom.xml的内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.kanpiaoxue</groupId> <artifactId>test</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>test Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.source.version>1.8</java.source.version> <java.target.version>1.8</java.target.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>test</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> <configuration> <webResources> <resource> <directory>src/main/webapp</directory> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <application_name>develop</application_name> </properties> </profile> <profile> <id>test</id> <properties> <application_name>test</application_name> </properties> </profile> <profile> <id>online</id> <properties> <application_name>online</application_name> </properties> </profile> </profiles> </project>
web.xml的内容:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>${application_name}</display-name> </web-app>
运行maven的时候指定profile的参数即可,如:
$mvn clean package -Ptest
运行命令打包之后的web.xml的内容:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>test</display-name> </web-app>
$mvn clean package -Ponline
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>online</display-name> </web-app>
问题解决。
同理,使用maven的插件还能做其他类似的替换动作。
可以参考
官方文档:https://maven.apache.org/plugins/maven-war-plugin/index.html
官网使用说明:https://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html
相关推荐
**EOVA框架整合WebService与Eclipse Maven环境** EOVA(Enterprise Object Virtual Application)是一个轻量级的企业级应用框架,主要用于简化开发过程,提高开发效率。本教程将介绍如何在Eclipse IDE中,利用Maven...
本实例将引导读者逐步了解如何利用CXF、Spring和Maven创建、测试和部署Web服务,提供了一个完整的Java Web服务开发流程的实践案例。通过这个实例,开发者不仅可以掌握Web服务的基本概念和技术,还能深入理解这些工具...
【SSM整合与Maven应用】 SSM框架指的是Spring、SpringMVC和MyBatis的集成,这是一种常见的Java企业级应用开发架构。Maven作为项目管理工具,是SSM整合的关键,它帮助开发者管理和构建项目,确保依赖关系的正确解决...
4. **Maven**:Maven是Java项目的构建工具,它通过配置文件(pom.xml)管理项目的依赖关系,自动化构建流程,包括编译、测试、打包、部署等。在SSM项目中,Maven帮助我们组织项目结构,并自动下载和管理所需的库文件...
1. **创建Maven项目**:使用Maven创建一个Java Web项目,确保pom.xml配置正确,包含所有依赖和打包信息。 2. **配置Jenkins**:按照上述步骤配置Jenkins,确保所有路径和参数正确。 3. **测试自动部署**:提交代码到...
### Maven中整合Spring与Hibernate的Pom.xml配置详解 在Java Web开发中,Spring框架以其强大的功能和灵活性被广泛应用于企业级应用的构建之中。而Hibernate作为一种流行的对象关系映射(ORM)工具,能有效简化...
Maven通过插件机制,可以执行编译、测试、打包、部署等生命周期目标。 2. Spring框架: Spring是Java应用开发的核心框架,提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming,...
【标题】:“Maven打包” 在软件开发领域,Maven是一个强大的项目管理和综合工具,尤其在Java开发中广泛使用。它通过使用一个统一的构建生命周期和依赖管理来简化项目的构建、管理和部署过程。Maven的核心理念是...
一、准备工作 1、工具:jdk1.7.0_80(64)+tomcat7.0.68+myeclipse10.6+mysql-5.5.48-win32 2、 开发环境安装配置、Maven项目创建(参考:...8、测试三个框架的整合:Maven编译打包部署服务器,测试。
本文将详细讲解如何在Eclipse环境中利用Maven来整合这三大框架,以便构建高效、灵活的Web应用程序。 一、Maven简介 Maven是一个项目管理工具,它可以帮助开发者管理和构建Java项目。通过Maven,我们可以方便地管理...
在本项目中,我们将探讨如何将这三个框架与Maven进行简单整合,并在JDK 1.8和Tomcat 9的环境下运行。 首先,我们需要理解每个组件的作用: 1. **Spring**:这是一个全面的轻量级应用程序框架,提供了AOP(面向切面...
通过在`pom.xml`文件中定义项目属性和依赖,Maven可以自动化构建过程,包括编译、测试、打包、部署等步骤。在SSM整合中,Maven用于统一管理Spring、SpringMVC、MyBatis的依赖库。 整合SSM的过程主要包括以下几个...
Maven通过POM文件自动化构建过程,包括编译、测试、打包、部署等步骤,同时提供了一个丰富的插件生态系统来扩展其功能。 **SSM整合**的过程主要包括以下几个步骤: 1. **创建Maven项目**:首先,我们需要创建一个...
本项目是一个综合性的实例,将这三个框架整合在一起,为开发者提供了一个完整的Web应用程序开发环境。 **Spring MVC** Spring MVC是Spring框架的一个模块,主要用于构建基于模型-视图-控制器(MVC)模式的Web应用...
在" Dorado与Maven整合项目 "中,Maven负责构建流程,包括编译、测试、打包和部署,同时管理项目的依赖关系,确保所有必要的库文件都能正确引入。 5. **项目结构**: 由于项目是基于Maven构建的,所以其目录结构...
整体来看,文档内容涉及了使用Maven构建、测试、部署Java Web应用的多个方面,包括基本的项目结构创建、依赖管理、构建配置、编译和运行时环境设置,以及与IDE的集成。这些知识点对于Java开发人员来说是必备的,有助...
在本项目中,“ssm+maven整合搭建web开发代码”是关于如何利用这些技术来构建一个完整的Web应用程序的实践教程。 首先,我们需要理解SSM框架的核心组件: 1. **Spring**:这是一个全面的Java企业级应用开发框架,...
在SSH Maven项目中,Maven负责整合并管理这些组件的依赖关系,通过配置pom.xml文件,可以自动化构建过程,包括编译、测试、打包、部署等步骤。 "ssh项目搭建.docx"可能是一个详细的步骤指南,指导用户如何配置和...
**SSM框架与Maven整合详解** SSM框架是由Spring、Spring MVC和MyBatis三个组件组成的Java Web开发框架,广泛应用于企业级应用开发。在本项目中,我们结合Maven构建工具,使得项目的管理更加规范,开发流程更加高效...
通过本文档的学习,开发者能够更好地理解Maven与SSI框架的整合方式及其在企业级应用中的实践。 #### Maven环境搭建 1. **下载Maven**:确保已经安装Java运行环境后,下载Maven最新版本(例如Maven 2.2.1)。下载...