`
kanpiaoxue
  • 浏览: 1777528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

maven的多环境打包部署与web.xml整合

 
阅读更多

 

参考地址: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框架整合WebService与Eclipse Maven环境** EOVA(Enterprise Object Virtual Application)是一个轻量级的企业级应用框架,主要用于简化开发过程,提高开发效率。本教程将介绍如何在Eclipse IDE中,利用Maven...

    cxf spring maven 实例

    本实例将引导读者逐步了解如何利用CXF、Spring和Maven创建、测试和部署Web服务,提供了一个完整的Java Web服务开发流程的实践案例。通过这个实例,开发者不仅可以掌握Web服务的基本概念和技术,还能深入理解这些工具...

    使用Maven整合ssm

    【SSM整合与Maven应用】 SSM框架指的是Spring、SpringMVC和MyBatis的集成,这是一种常见的Java企业级应用开发架构。Maven作为项目管理工具,是SSM整合的关键,它帮助开发者管理和构建项目,确保依赖关系的正确解决...

    SSM整合时的Maven项目源码

    4. **Maven**:Maven是Java项目的构建工具,它通过配置文件(pom.xml)管理项目的依赖关系,自动化构建流程,包括编译、测试、打包、部署等。在SSM项目中,Maven帮助我们组织项目结构,并自动下载和管理所需的库文件...

    jenkins实现maven项目自动部署到tomcat .rar

    1. **创建Maven项目**:使用Maven创建一个Java Web项目,确保pom.xml配置正确,包含所有依赖和打包信息。 2. **配置Jenkins**:按照上述步骤配置Jenkins,确保所有路径和参数正确。 3. **测试自动部署**:提交代码到...

    ( maven中整合Spring+hibernate的pom.xml文件的配置.doc )

    ### Maven中整合Spring与Hibernate的Pom.xml配置详解 在Java Web开发中,Spring框架以其强大的功能和灵活性被广泛应用于企业级应用的构建之中。而Hibernate作为一种流行的对象关系映射(ORM)工具,能有效简化...

    maven+ssm完美整合

    Maven通过插件机制,可以执行编译、测试、打包、部署等生命周期目标。 2. Spring框架: Spring是Java应用开发的核心框架,提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming,...

    maven打包

    【标题】:“Maven打包” 在软件开发领域,Maven是一个强大的项目管理和综合工具,尤其在Java开发中广泛使用。它通过使用一个统一的构建生命周期和依赖管理来简化项目的构建、管理和部署过程。Maven的核心理念是...

    springMVC+Spring+Mybatis+Maven整合代码案例

    一、准备工作 1、工具:jdk1.7.0_80(64)+tomcat7.0.68+myeclipse10.6+mysql-5.5.48-win32 2、 开发环境安装配置、Maven项目创建(参考:...8、测试三个框架的整合:Maven编译打包部署服务器,测试。

    在Eclipse中使用Maven整合SSM框架.rar

    本文将详细讲解如何在Eclipse环境中利用Maven来整合这三大框架,以便构建高效、灵活的Web应用程序。 一、Maven简介 Maven是一个项目管理工具,它可以帮助开发者管理和构建Java项目。通过Maven,我们可以方便地管理...

    ssm+maven简单整合

    在本项目中,我们将探讨如何将这三个框架与Maven进行简单整合,并在JDK 1.8和Tomcat 9的环境下运行。 首先,我们需要理解每个组件的作用: 1. **Spring**:这是一个全面的轻量级应用程序框架,提供了AOP(面向切面...

    spring springmvc mybatis maven整合

    通过在`pom.xml`文件中定义项目属性和依赖,Maven可以自动化构建过程,包括编译、测试、打包、部署等步骤。在SSM整合中,Maven用于统一管理Spring、SpringMVC、MyBatis的依赖库。 整合SSM的过程主要包括以下几个...

    maven+ssm整合

    Maven通过POM文件自动化构建过程,包括编译、测试、打包、部署等步骤,同时提供了一个丰富的插件生态系统来扩展其功能。 **SSM整合**的过程主要包括以下几个步骤: 1. **创建Maven项目**:首先,我们需要创建一个...

    使用springmvc、hibernate、maven开发的web实例项目。

    本项目是一个综合性的实例,将这三个框架整合在一起,为开发者提供了一个完整的Web应用程序开发环境。 **Spring MVC** Spring MVC是Spring框架的一个模块,主要用于构建基于模型-视图-控制器(MVC)模式的Web应用...

    Dorado与Maven整合项目.zip

    在" Dorado与Maven整合项目 "中,Maven负责构建流程,包括编译、测试、打包和部署,同时管理项目的依赖关系,确保所有必要的库文件都能正确引入。 5. **项目结构**: 由于项目是基于Maven构建的,所以其目录结构...

    Maven精品教程 零散笔记

    整体来看,文档内容涉及了使用Maven构建、测试、部署Java Web应用的多个方面,包括基本的项目结构创建、依赖管理、构建配置、编译和运行时环境设置,以及与IDE的集成。这些知识点对于Java开发人员来说是必备的,有助...

    ssm+maven整合搭建web开发代码

    在本项目中,“ssm+maven整合搭建web开发代码”是关于如何利用这些技术来构建一个完整的Web应用程序的实践教程。 首先,我们需要理解SSM框架的核心组件: 1. **Spring**:这是一个全面的Java企业级应用开发框架,...

    SSH Maven项目struts2.3.24+spring4.2.4.RELEASE+hibernate5.0.6.Final

    在SSH Maven项目中,Maven负责整合并管理这些组件的依赖关系,通过配置pom.xml文件,可以自动化构建过程,包括编译、测试、打包、部署等步骤。 "ssh项目搭建.docx"可能是一个详细的步骤指南,指导用户如何配置和...

    Maven整合SSM框架

    **SSM框架与Maven整合详解** SSM框架是由Spring、Spring MVC和MyBatis三个组件组成的Java Web开发框架,广泛应用于企业级应用开发。在本项目中,我们结合Maven构建工具,使得项目的管理更加规范,开发流程更加高效...

    手把手构建Maven企业级应用(整合SSI框架).pdf

    通过本文档的学习,开发者能够更好地理解Maven与SSI框架的整合方式及其在企业级应用中的实践。 #### Maven环境搭建 1. **下载Maven**:确保已经安装Java运行环境后,下载Maven最新版本(例如Maven 2.2.1)。下载...

Global site tag (gtag.js) - Google Analytics