文档章节

使用maven-war-plugin 对Maven项目进行动态打包

guanzhenxing
 guanzhenxing
发布于 2014/06/18 16:45
字数 225
阅读 464
收藏 1
点赞 0
评论 0

在项目发布的时候,我们可能会希望保持项目代码不变的情况下,针对不同的环境获得相应的运行包(如:war)。
现在遇到的一个项目是要在发布的时候更改logback的配置。如windows环境下,log的路径为F:\\apache-tomcat-7.0.50;linux环境下为/home/server/tomcat。


代码如下:
1、logback配置:logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<contextName>quicksample</contextName>
	<property name="LOG_HOME">${log_home_value}</property>
	
	……
<configuration>

2、在maven的pom.xml中配置如下:

…
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-war-plugin</artifactId>
	<version>2.4</version>
	<configuration>
		<warName>${project.artifactId}</warName>
		<filters>
			<filter>src/main/resources/logback.xml</filter>
		</filters>
		<webResources>
			<resource>
				<filtering>true</filtering>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/logback.xml</include>
				</includes>
				 <targetPath>WEB-INF/classes</targetPath>
			</resource>
		</webResources>
	</configuration>
</plugin>
…

<profiles>
	<profile>
		<id>windows</id>
		<properties>
			<log_home_value>F:\\apache-tomcat-7.0.50</log_home_value>
		</properties>
	</profile>
	<profile>
		<id>linux</id>
		<properties>
			<log_home_value>/home/server/tomcat</log_home_value>
		</properties>
	</profile>
</profiles>

3、用 mvn clean package -P windows打包

另可参考:http://nileader.blog.51cto.com/1381108/449956




© 著作权归作者所有

共有 人打赏支持
guanzhenxing

guanzhenxing

粉丝 13
博文 19
码字总数 13042
作品 0
厦门
程序员
Maven学习笔记(二)——常用插件配置详解

先将我用到的自定义变量贴过来,防止插件中出现一些变量,大家不理解 <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>......

zh119893 ⋅ 2014/06/07 ⋅ 2

maven 根据P参数值打包动态修改properties文件中值或一定properties

由于本人 最近忙着公司事情,昨天没有写博客,今天就继续写吧 需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB、Redis等服务...

stark_summer ⋅ 2015/01/15 ⋅ 0

Maven实战读书笔记(13)

WAR 1、基于Java的Web应用,其标准的打包方式是WAR 2、WAR与JAR类似,不过它包含更多的内容,如JSP文件、Servlet、Java类、web.xml配置文件、依赖JAR包、静态web资源(如HTML、CSS、JavaScr...

祥林会跟你远走高飞 ⋅ 2014/12/22 ⋅ 0

Maven 项目打包需要注意到的那点事儿

关于 Maven 打 war 包 对 J2EE 项目打 war 包。其实很简单,你只需要把 pom.xml 中的 <packaging>jar</packaging> 换成 <packaging>war</packaging> 就可以使用 mvn package 命令对其打 war ......

岁月留痕 ⋅ 2015/12/30 ⋅ 0

maven 自定义打包

“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当...

Oscarfff ⋅ 2016/09/08 ⋅ 0

Maven实战(九)——打包的技巧

“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当...

Oscarfff ⋅ 2016/02/13 ⋅ 0

使用maven warpath插件合并多module的war包

使用maven warpath插件合并多module的war包 现在java 项目一般使用maven、gradle等工具来管理jar包、打包、发布。如果一个项目有很多模块,那般是分成多个module,主目录有个parent,负责包含...

youthflies ⋅ 2014/04/29 ⋅ 0

maven多web合并项目

实际情况:基于开源作者开源的web项目,扩展开发自己的业务功能,又不想跟原项目混在一起开发,即要实现开源web项目与自己的扩展web项目合并部署且自己的web项目依赖开源的web项目,经网上查...

zkool ⋅ 2016/11/23 ⋅ 0

MAVEN的生命周期,jetty插件

MAVEN的生命周期和插件 maven是通过插件来实现功能的。所谓的生命周期就是我们在构建项目时,maven默认需要是想的一些功能,而每一个功能就通过插件的某一功能来实现。 每个插件会有一个或多...

GITTODO ⋅ 2016/05/19 ⋅ 0

EAR项目构建的几种方式

PS:说实话,在写这篇帖子之前,我也没用过EAR,因此该贴仅是记录学习过程用~有什么不对的地方,或者欠缺的,还请各位看官斧正,先谢过各位了~~一、基于传统WebProject方式在eclipse中,右键n...

fastjrun ⋅ 2016/07/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 42分钟前 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 49分钟前 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 50分钟前 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 50分钟前 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 59分钟前 ⋅ 0

Greenplum 三节点安装教程(非root用户)

Greenplum 三节点安装教程(非root用户) 环境准备 安装vmware,装三台centos 虚拟机设置: 主机名 IP 内存 硬盘 node1 Xxx1 2G 80G node2 Xxx2 2G 80G node3 Xxx3 2G 80G CSDN下载greenplum...

仔仔1993 ⋅ 今天 ⋅ 0

linux 信号机制

signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协...

xxdd ⋅ 今天 ⋅ 0

SpringWind

环境搭建和系统部署

颖伙虫 ⋅ 今天 ⋅ 0

vim命令用法

第五章 vim命令 vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。 vim有三个模式:一般模式,编辑模式,命令模式。 系统最小化安装时没有安...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部