文档章节

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

guanzhenxing
 guanzhenxing
发布于 2014/06/18 16:45
字数 225
阅读 499
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部