文档章节

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

guanzhenxing
 guanzhenxing
发布于 2014/06/18 16:45
字数 225
阅读 544
收藏 1

在项目发布的时候,我们可能会希望保持项目代码不变的情况下,针对不同的环境获得相应的运行包(如: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
24.1K
2
maven 根据P参数值打包动态修改properties文件中值或一定properties

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

stark_summer
2015/01/15
0
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
0
Maven 项目打包需要注意到的那点事儿

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

岁月留痕
2015/12/30
915
0
maven 自定义打包

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

Oscarfff
2016/09/08
38
0

没有更多内容

加载失败,请刷新页面

加载更多

好用的vue组件

http://elickzhao.github.io/2017/08/vue%E4%B8%80%E4%BA%9B%E7%89%B9%E5%88%AB%E6%9C%89%E7%94%A8%E7%9A%84%E6%8F%92%E4%BB%B6/...

Littlebox
18分钟前
1
0
linux 源码安装mysql8

1.安装依赖 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel   2.下载源码包 wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-......

苏牧影子
18分钟前
0
0
BeanFactory和FactoryBean

BeanFactory BeanFactory是ioc容器的顶层接口,里面定义了一些容器基本的功能 类似ConfigurableBeanFatory和ApplicationContext就是比较高级的容器,除了基本的方法之外,还实现了很多高级的...

sendo
20分钟前
0
0
Java并发(9)- 从同步容器到并发容器

引言 容器是Java基础类库中使用频率最高的一部分,Java集合包中提供了大量的容器类来帮组我们简化开发,我前面的文章中对Java集合包中的关键容器进行过一个系列的分析,但这些集合类都是非线...

Ala6
24分钟前
1
0
Java定时器Timer学习之一

种类: 接通延时型定时器:接通延时型定时器是各种PLC(可编程控制器)中最常见最基本的定时器,这种定时器在Siemens的PLC中,成为SD型定时器 断开延时型定时器:这种定时器是当输入条件00000为ON时...

王怀楼
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部