Maven项目中依据条件进行打包war包

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<properties>
		<mariadb-version>1.1.7</mariadb-version>
		<mysql-version>5.1.25</mysql-version>
		<package.target>notexists</package.target>
		<deploy.include>src/main/deploy</deploy.include>
		<dev.jspath>js/dev</dev.jspath>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
	</properties>
	<profiles>
		<profile>
			<id>nas</id>
			<properties>
				<package.target>nas</package.target>
			</properties>
			<dependencies>
				<dependency>
					<groupId>org.mariadb.jdbc</groupId>
					<artifactId>mariadb-java-client</artifactId>
					<version>${mariadb-version}</version>
					<exclusions>
						<exclusion>
							<groupId>net.java.dev.jna</groupId>
							<artifactId>jna</artifactId>
						</exclusion>
					</exclusions>
				</dependency>
			</dependencies>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-war-plugin</artifactId>
						<version>2.6</version>
						<configuration>
							<packagingExcludes>WEB-INF/lib/mysql-connector-java*.jar</packagingExcludes>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>testCust</id>
			<properties>
				<package.target>testCust</package.target>
			</properties>
		</profile>
	</profiles>

	<build>
		<finalName>webProject</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<warName>${project.build.finalName}-${project.version}-${package.target}-${maven.build.timestamp}</warName>
					<warSourceExcludes>${dev.jspath}/**</warSourceExcludes>
					<webResources>
						<resource>
							<targetPath>WEB-INF</targetPath>
							<directory>${deploy.include}/${package.target}</directory>
							<includes>
								<include>*.xml</include>
							</includes>
						</resource>
					</webResources>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<executions>
					<execution>
						<id>copy-resources_properties</id>
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.outputDirectory}</outputDirectory>
							<resources>
								<resource>
									<directory>${deploy.include}/${package.target}</directory>
									<includes>
										<include>**/*.properties</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

maven命令后面添加-P+id 就可以进行触发不同的配置信息

时间: 2024-10-29 01:22:47

Maven项目中依据条件进行打包war包的相关文章

Maven项目中,编译proto文件成Java类

新建Maven项目 新建一个 Maven 项目: pom定义了最小的maven2元素,即:groupId,artifactId,version. groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojo artifactId: 项目的通用名称 version:项目的版本 packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar

Maven项目中mvn clean后找不到測试类问题

在Maven项目中进行单元測试,但mvn clean后又一次mvn install项目,再次进行单元測试.会有下面的错误. <span style="font-family:KaiTi_GB2312;font-size:18px;">Class not found com.core.order.service.impl.OrderServiceImplTest java.lang.ClassNotFoundException: com.core.order.service.

IDEA的maven项目中 静态文件编译的问题

IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉. 如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹.Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求. 解决IDEA的这个问题有两种方式. 第一种是建立src/main/resou

将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹

如题,IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉. 如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹.hibernate和spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求. 解决IDEA的这个问题有两种方式. 第一种是建立src/main/re

在Maven项目中关于SSM框架中邮箱验证登陆

1.你如果要在maven项目中进行邮箱邮箱验证,你首先要先到pom.xml文件中配置mail.jar,activation.jar包 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <dependency> <groupId

maven项目中连接sqlserver和mysql的区别

maven项目中,sql和mysql连接所需加载的包与jdbc.properties中的写法是不一样的 对于mysql: jdbc.properties的写法: jdbc.driverClassName=com.mysql.jdbc.Driver -- mysql驱动 jdbc.url=jdbc\:mysql\://localhost\:3306/workloads?useUnicode=true&characterEncoding=utf-8 -- 具体数据库信息,并设置编码 jdbc.use

在Maven项目中,指定使用阿里云仓库下载jar包

Maven项目中,在pom.xml的</project>标签之前加入一下标签,指定使用阿里云仓库下载jar包. <!-- 使用aliyun maven --> <repositories> <repository> <id>aliyun</id> <name>aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public&

如何在maven项目中使用spring

今天开始在maven项目下加入spring. 边学习边截图. 在这个过程中我新建了一个hellospring的项目.于是乎从这个项目出发开始研究如何在maven项目中使用spring.鉴于网上的学习资料都是spring与jsp的整合.所以在这里我也使用spring+jsp. 从一个新建的maven项目hellospring出发开始研究.

kafka在Maven项目中的使用

由于只是简单地了解和使用了kafka,所以对底层的东西并不做深入的分析,网上有很多资料介绍 kafka的安装以及它的配置,包括zookeeper集群的搭建.本文是在环境搭建好的情况下,介绍kafka在Maven项目中该如何使用. 1.kafka的配置文件 如果生产者和消费者都在一个模块里,那就只需要一个配置文件就行啦,如果在不同模块里的话就是两个(当然看你用什么环境,一个环境下一个配置文件,自己根据不同的环境进行配置,开发.测试.生产环境除了连接地址不一样外,其它可以配置成一样的).本文的生产者