2013-07-29 15 views
30

私はコンパイルから除外するJavaソースのフォルダを持っています。Maven:コンパイル時のJavaファイルを除外

私のフォルダはqa/apitests/src/main/java/api/test/omiです。

pom.xmlに次の項目を追加しました。qa/bamtestsの下に追加しましたが、役に立たなかったです。私が作る必要がある項目がありますか?

<build> 
    <resources> 
     <resource> 
     <directory>src/main/java</directory> 
     <includes> 
      <include>**/*.properties</include> 
      <include>**/*.xml</include> 
      <include>**/*.xsd</include> 
      <include>**/*.csv</include> 
     </includes> 
     <excludes> 
<exclude>src/main/java/api/test/omi</exclude> 
     </excludes> 
     </resource> 
</build> 
+0

場所試験特性 'SRC /試験/ resources'ため' SRC /メイン/ resources'あります。 – khmarbaise

+0

'qa/bamtests'のあなたのプロジェクトは' qa/apitests'でソースをどのように見つけることができますか? –

+0

除外に同じパターンを使用するとどうなりますか: **/test/omi/** boskop

答えて

39

Maven Compiler Pluginを使用してください。その後、

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    <excludes> 
     <exclude>**/api/test/omi/*.java</exclude> 
    </excludes> 
    </configuration> 
</plugin> 
+0

2つの主要な '* 'は何を表していますか? –

+2

'**'は '任意のディレクトリ'を意味します。 –

+2

この回答は私には役に立たなかった。これを見てくださいhttp://stackoverflow.com/a/19713000/358013 – blueskin

2

あなたがコンパイルからJavaソースを除外したい場合は、

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <excludes> 
       <exclude>src/main/java/api/test/omi/*.java</exclude> 
      </excludes> 
     </configuration> 
    </plugin> 
</plugins> 

Maven Compiler Plugin定義でそれらを言及リソースプラグインは、すべてのリソースが最終的な成果物にバンドルするかを定義します。

33

他の回答が「SRC /メイン/ javaの」が含まれてはならないパスを除いて、私のために働い示唆したように除外する追加:誰のための

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
     <excludes> 
      <exclude>com/filosync/store/StoreMain.java</exclude> 
     </excludes> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
+0

src/main /を削除することは本当ですか! – Dudi

11

テストソース<exclude>タグが意志を除外するために必要うまくいかない。あなたは代わりに<testExclude>を使用する必要があります。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <testExcludes> 
     <testExclude>**/PrefixToExclude*</testExclude> 
     </testExcludes> 
    </configuration> 
    </plugin> 
1

トップは答えが正常に動作しますが、それは/ - 除外されていないもので使用されているされている場合は除外クラス/クラスの除外を強制的に許可していません投票しました。 maven-antrun-pluginを用い

解決策:プロパティの

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
     <execution> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <tasks> 
      <delete dir="target/classes/folder/to/exclude"/> 
     </tasks> 
    </configuration> 
</plugin> 
関連する問題