Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven - exclude folder from build

Trying to exlcude a folder src/main/resources/scripts/ from my build but the following does not work:

<build>     <resources>         <resource>             <directory>src/main/resources</directory>             <excludes>                 <exclude>src/main/resources/scripts/</exclude>             </excludes>         </resource>     </resources>      <plugins>         <plugin>             <groupId>org.apache.maven.plugins</groupId>             <artifactId>maven-compiler-plugin</artifactId>             <version>3.1</version>             <configuration>                 <excludes>                     <exclude>src/main/resources/scripts/</exclude>                 </excludes>                 <source>1.7</source>                 <target>1.7</target>             </configuration>         </plugin>     </plugins> </build> 

Any ideas?

like image 251
Cheetah Avatar asked Aug 12 '14 11:08

Cheetah


2 Answers

Instead try:

<exclude>scripts/**</exclude> 

The exclude is based on directory, so your construction would exclude

src/main/resources/src/main/resources/scripts 
like image 73
Robert Scholte Avatar answered Sep 25 '22 22:09

Robert Scholte


I had a similar problem and found the following issues:

  • You may have a parent pom which already defines a configuration for the maven-compiler-plugin. For this, add combine.self="override" to the configuration tag. See Maven : Is it possible to override the configuration of a plugin already defined for a profile in a parent POM
  • It seems the plugin ignores excludes if it needs the excluded classes for the compilation: make sure you are not referencing the excluded classes from other classes which will get compiled. For example, if you exclude Foo.java, but in Bar.java you import Foo; it will (try to) compile Foo.java to compile Bar.java.

For example:

<profiles>     <profile>         <id>myId</id>         <build>             <plugins>                 <plugin>                     <groupId>org.apache.maven.plugins</groupId>                     <artifactId>maven-compiler-plugin</artifactId>                     <configuration combine.self="override">                         <excludes>                             <exclude>**/some/full/directory/*</exclude>                             <exclude>**/some/single/File.java</exclude>                         </excludes>                     </configuration>                 </plugin>             </plugins>         </build> </profile> 
like image 29
codemonkey Avatar answered Sep 22 '22 22:09

codemonkey