web-dev-qa-db-fra.com

Maven - exclure un dossier de la compilation

J'essaie d'exclure un dossier src/main/resources/scripts/ De ma génération, mais ce qui suit ne fonctionne pas:

<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>

Des idées?

29
Cheetah

Essayez plutôt:

<exclude>scripts/**</exclude>

L'exclusion est basée sur le répertoire, donc votre construction exclurait

src/main/resources/src/main/resources/scripts
50
Robert Scholte

J'ai eu un problème similaire et j'ai trouvé les problèmes suivants:

  • Vous pouvez avoir un pom parent qui définit déjà une configuration pour le maven-compiler-plugin. Pour cela, ajoutez combine.self="override" à la balise configuration. Voir Maven: est-il possible de remplacer la configuration d'un plugin déjà défini pour un profil dans un POM parent
  • Il semble que le plugin ignore les exclusions s'il a besoin des classes exclues pour la compilation: assurez-vous de ne pas référencer les classes exclues des autres classes qui seront compilées. Par exemple, si vous excluez Foo.Java, mais en Bar.Java toi import Foo; il va (essayer de) compiler Foo.Java compiler Bar.Java.

Par exemple:

<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>
5
codemonkey
<profiles>
    <profile>
        <id>readBuild</id>
        <build>
             <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration >
                    <excludes>
                        <exclude>**/com/pyramid/controllers/EntitlementWriteController.Java</exclude>
                        <exclude>**/com/pyramid/controllers/ProductWriteController.Java</exclude>
                    </excludes>
                     <testExcludes>
                      <testExclude>**/com/pyramid/controllers/EntitlementWriteControllerTest.Java</testExclude>
                       <testExclude>**/com/pyramid/controllers/ProductWriteControllerTest.Java</testExclude>
                    </testExcludes>
                </configuration>
            </plugin>
        </plugins>
            <directory>yourDirectory</directory>
        </build>
    </profile>
2
kumar