Change Packaging Type Based on Profile

I wanted to be able to build two types of binaries from the same project: a war file for deploment in a web container and a jar for console operation. This is what I came up with. I created two profiles in my pom each defining a packaging.type property. This property is referenced in the packaging tag.

<?xml version="1.0" encoding="UTF-8"?>
<project>
	<modelVersion>4.0.0</modelVersion>
	..
	<packaging>${packaging.type}</packaging>

	<profiles>
		<profile>
			<id>webapp</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<packaging.type>war</packaging.type>
			</properties>
		</profile>
		<profile>
			<id>batch</id>
			<properties>
				<packaging.type>jar</packaging.type>
			</properties>
                </profile>
          </profiles>
</project>
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.