Hi,

I've noticed that maven sometimes ignores my list of exclusions on the 
dependencies and creates
an EAR (or rather a WAR inside that EAR), that doesn't deploy on my JBoss.
The problem occurs pretty often, but still at random, when running a build with 
'-Dperson=test' and
only hardly ever occurs when this is left out! The property 'person' adds the 
Clover-plugin and the
Clover library to my project (inside the parent POM).

I already figured out that the JAR responsible for f***ing up JBoss is the 
commons-logging jar.

I've attached my POM, maybe that will help.

Thanks,

Roland
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd";>
	<parent>
		<groupId>at.cfc.hermes.person</groupId>
		<artifactId>hermes-person</artifactId>
		<version>0.0.1</version>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<artifactId>hermes-person-war</artifactId>
	<packaging>war</packaging>
	<name>Hermes Person - WAR module</name>
	<description>Web Application Archive</description>
	<build>
		<plugins>
			<!-- Extra plugins, need to be fully defined -->
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.myfaces.tobago</groupId>
				<artifactId>maven-theme-plugin</artifactId>
				<version>1.0.8-SNAP</version>
				<executions>
					<execution>
						<goals>
							<goal>resources</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<!-- Dependencies inside of Hermes-Person -->
		<dependency>
			<groupId>${groupId}</groupId>
			<artifactId>hermes-person-war-java</artifactId>
			<version>${version}</version>
			<classifier>${classifier.name}</classifier>
			<exclusions>
				<!-- These sub-modules all go into the EAR, so we MUST exclude them -->
				<exclusion>
					<groupId>${groupId}</groupId>
					<artifactId>hermes-person-external-model-client</artifactId>
				</exclusion>
				<exclusion>
					<groupId>${groupId}</groupId>
					<artifactId>hermes-person-internal-model-client</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- External dependencies -->
		<dependency>
			<groupId>org.codehaus.xfire</groupId>
			<artifactId>xfire-spring</artifactId>
			<version>1.0</version>
		</dependency>
		<!-- XFire-Java5 would've come up transitive from the Shared-module, hadn't we excluded it above -->
		<dependency>
			<groupId>org.codehaus.xfire</groupId>
			<artifactId>xfire-java5</artifactId>
			<version>1.0</version>
			<exclusions>
				<!-- We need to exclude a lot of stuff that's only used in testing of XFire, but the XFire POM doesn't scope those -->
				<exclusion>
					<groupId>ant</groupId>
					<artifactId>ant</artifactId>
				</exclusion>
				<exclusion>
					<groupId>httpunit</groupId>
					<artifactId>httpunit</artifactId>
				</exclusion>
				<exclusion>
					<groupId>jetty</groupId>
					<artifactId>org.mortbay.jetty</artifactId>
				</exclusion>
				<exclusion>
					<groupId>junit</groupId>
					<artifactId>junit</artifactId>
				</exclusion>
				<exclusion>
					<groupId>qdox</groupId>
					<artifactId>qdox</artifactId>
				</exclusion>
				<!-- These libraries all go into the EAR, so we MUST exclude them from the WAR -->
				<exclusion>
					<groupId>commons-beanutils</groupId>
					<artifactId>commons-beanutils</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-collections</groupId>
					<artifactId>commons-collections</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-digester</groupId>
					<artifactId>commons-digester</artifactId>
				</exclusion>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>oro</groupId>
					<artifactId>oro</artifactId>
				</exclusion>
				<!-- These should be provided by the Container and are therefor excluded as well -->
				<exclusion>
					<groupId>xerces</groupId>
					<artifactId>xercesImpl</artifactId>
				</exclusion>
				<exclusion>
					<groupId>xerces</groupId>
					<artifactId>xmlParserAPIs</artifactId>
				</exclusion>
				<exclusion>
					<groupId>xml-apis</groupId>
					<artifactId>xml-apis</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- We need to add the tobago-themes, so the plugin will extract them -->
		<!-- Deepest reference is 'standard -->
		<dependency>
			<groupId>org.apache.myfaces.tobago</groupId>
			<artifactId>tobago-theme-standard</artifactId>
			<version>1.0.8-SNAP</version>
		</dependency>
		<!-- Then we need 'scarborough', which depends on 'standard' -->
		<dependency>
			<groupId>org.apache.myfaces.tobago</groupId>
			<artifactId>tobago-theme-scarborough</artifactId>
			<version>1.0.8-SNAP</version>
		</dependency>
		<!-- The others all depend on 'scarborough' -->
		<dependency>
			<groupId>org.apache.myfaces.tobago</groupId>
			<artifactId>tobago-theme-charlotteville</artifactId>
			<version>1.0.8-SNAP</version>
		</dependency>
		<dependency>
			<groupId>org.apache.myfaces.tobago</groupId>
			<artifactId>tobago-theme-richmond</artifactId>
			<version>1.0.8-SNAP</version>
		</dependency>
		<dependency>
			<groupId>org.apache.myfaces.tobago</groupId>
			<artifactId>tobago-theme-speyside</artifactId>
			<version>1.0.8-SNAP</version>
		</dependency>
	</dependencies>
</project>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to