Soru Maven: derlemede java dosyaları hariç


Derlemeden çıkarmak istediğim bir java kaynağı klasörüm var.

Klasörümün altında qa/apitests/src/main/java/api/test/omi.

Aşağıdaki girişi ekledim pom.xml altında qa/bamtests ama yardımcı olmadı. Ek olarak girmem gereken bir giriş var mı?

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

35
2017-07-29 09:53


Menşei


Özellikler yeri src/main/resources test özellikleri için src/test/resources. - khmarbaise
Projeniz nasıl qa/bamtests hatta kaynakları bulmak qa/apitests?
Hariç tutulanlar için aynı kalıbı kullanmaya ne dersiniz: <exclude> ** / test / omi / ** </ exclude> - boskop
biraz kapalı konu: kaynakları düzenlemek için yol sadece bir karmaşadır. Farklı kaynaklarınızı düzenlemek için src / main / resources (veya src / main / altında başka dizinler) oluşturmanız gerekir. - Adrian Shum
okumak Stefan'ın cevabı  kaldırılması gerekenler hakkında src/main/java/ yoldan! - xverges


Cevaplar:


Kullan Maven Derleyici Eklentisi.

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

45
2017-10-31 17:26



İki lider ne * ayakta durmak? - Patrizio Bertoni
** 'herhangi bir dizin' anlamına gelir.
Bu cevap benim için çalışmadı. Şuna bak stackoverflow.com/a/19713000/358013 - blueskin
Benim için de işe yaramadı, kaldırmam gerekti src/main/java bölüm ... Göreceli bir yol sorunu gibi görünüyor. Birisi ayrıntılı olarak açıklayabilir mi? - Soumya Kanti
Testleri hariç tutmak için, bkz. @ Michal-kordas'ın cevabı stackoverflow.com/a/32531306/517134 benim için çalıştı - Yusuf K.


Önerilen diğer yanıtlar gibi bir dışlama eklemek benim için çalıştı, yolun dışında "src / main / java" içermemelidir:

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

35
2017-09-11 20:03



src / main / kaldırmak çok doğru! - Dudi


Hariç tutmaya ihtiyaç duyan herkes için test kaynakları  <exclude> etiket çalışmayacak. Kullanmalısın <testExclude> yerine:

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

13
2017-07-29 10:08





Java kaynaklarını derlemeden çıkarmak istiyorsanız, Maven Derleyici Eklentisi tanım

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

Kaynak eklentisi, yalnızca son eserinizde bulunan tüm kaynakların ne olduğunu tanımlar.


3
2018-05-09 00:06





En çok oylanan cevap iyi çalışır ancak hariç tutulan sınıf / sınıflar hariç tutulanlar tarafından kullanıldığında hariç tutulmayı zorlamaz.

Kullanarak geçici çözüm 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>

1