I have the below pom.xml and when I run it, all my classes go through enhancements, even the ones in the "excludes" node. Why? How do I exclude them?
<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>groupId</groupId> <artifactId>MyProject</artifactId> <version>1.2</version> <packaging>war</packaging> <!-- Tell Maven what language version to use --> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/javax.enterprise/cdi-api --> <dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>2.0</version> </dependency> <!-- Enables the annotations, etc needed --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <exclusions> <exclusion> <groupId>javax.exterprise</groupId> <artifactId>cdi-api</artifactId> </exclusion> </exclusions> </dependency> <!-- Our jersey libs --> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>2.25.1</version> </dependency> <!-- CDI to JAX-RS Binding --> <!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers.glassfish/jersey-gf-cdi-ban-custom-hk2-binding --> <dependency> <groupId>org.glassfish.jersey.containers.glassfish</groupId> <artifactId>jersey-gf-cdi</artifactId> <version>2.14</version> </dependency> <!-- Jackson --> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.25.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.jboss.weld.servlet/weld-servlet-core --> <dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet-core</artifactId> <version>3.0.0.Final</version> </dependency> <!-- https://mvnrepository.com/artifact/org.jboss.weld/weld-core-impl --> <dependency> <groupId>org.jboss.weld</groupId> <artifactId>weld-core-impl</artifactId> <version>3.0.0.Final</version> </dependency> <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa</artifactId> <version>2.4.2</version> </dependency> <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-maven-plugin</artifactId> <version>2.4.2</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.14.5</version> </dependency> </dependencies> <build> <!-- We don't use the version number in the file name --> <finalName>MyProject</finalName> <plugins> <!-- Enhances the JPA classes --> <plugin> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-maven-plugin</artifactId> <version>2.4.2</version> <executions> <execution> <id>JPA Enhance</id> <phase>process-classes</phase> <goals> <goal>enhance</goal> </goals> <configuration> <includes>**/push/*.class</includes> <excludes>**/service/*.class,**/util/*.class</excludes> <persistenceXmlFile>${project.basedir}/src/main/resources/META-INF/persistence.xml</persistenceXmlFile> <toolProperties> <property> <name>addDefaultConstructor</name> <value>false</value> </property> <property> <name>enforcePropertyRestrictions</name> <value>true</value> </property> </toolProperties> </configuration> </execution> </executions> </plugin> </plugins> </build> </project> I even tried adding the below to the configuration and it still enhances everything <configuration> <classes>${project.basedir}/src/main/java/push</classes> .... </configuration> It outputs a lot of lines like: > 1005 PushPersistence INFO [main] openjpa.Tool - Enhancer running on type > "class service.ServiceManager". You'll notice that should match my excludes.