SORU
12 Kasım 2009, PERŞEMBE


Maven bağımlılık testi çok modülü proje

Maven çok modülü bir proje oluşturmak için kullanın. Benim modül 2 test kapsamında derleme src kapsam ve modül 1 Modül 1 testleri bağlıdır.

Modül 2 -

   <dependency>
        <groupId>blah</groupId>
        <artifactId>MODULE1</artifactId>
        <version>blah</version>
        <classifier>tests</classifier>
        <scope>test</scope>
    </dependency>

Bu gayet iyi çalışıyor. Benim 3. modül Module1 src ve derleme zamanında testlere bağlı olduğu görüşündeler.

Modül 3 -

   <dependency>
        <groupId>blah</groupId>
        <artifactId>MODULE1</artifactId>
        <version>blah</version>
        <classifier>tests</classifier>
        <scope>complie</scope>
    </dependency>

Ben çalıştırmak mvn clean install, benim 3, modül 1 test bağımlılık çözmek kalamadım olarak modül 3 bozulana dek modülü çalışır oluşturun. Sonra bir mvn 3. modül tek başına Yükleme, geri dönüp mvn çalıştırmak benim ana pom üzerine inşa yapmak için yüklerim. Bu durumu nasıl düzeltebilirim?

CEVAP
14 Kasım 2009, CUMARTESİ


Başka bir proje için (module1) oluşturduğunuz yapmak için ne çalışıyorsunuz ama bu testleri yeniden kullanmak istediğinizi varsayıyorum hakkında bir şüphem yok. Guide to using attached tests: altındaki notta açıklıyordu

Bu kılavuzun önceki sürümleri <type>test-jar</type> yerine <classifier>tests</classifier> kullanmak için önerilen unutmayın. Bu şu anda bazı durumlar için çalışırken, düzgün bir reaktör inşa JAR test modülü ve eğer ömrü bir yükleme aşaması öncesinde çağrıldığında herhangi bir tüketicinin sırasında çalışmaz. Böyle bir senaryoda, Maven ama yerel/uzak deposundan inşa reaktör çıktısı test KAVANOZ çözümlenmez. Görünüşe göre, depoları KAVANOZ eski ya da tamamen eksik, inşa hatası (cf. neden olabilir * *15).

Yani, bir KAVANOZ içinde derlenmiş testleri paketi ve genel yeniden kullanım için onları dağıtmak için ilk olarak, aşağıdaki gibi: maven-jar-plugin yapılandırın

<project>
  <build>
    <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-jar-plugin</artifactId>
       <version>2.2</version>
       <executions>
         <execution>
           <goals>
             <goal>test-jar</goal>
           </goals>
         </execution>
       </executions>
     </plugin>
    </plugins>
  </build>
</project>

Sonra,/her zamanki gibi test KAVANOZ obje dağıtmak yükleyin (mvn install mvn deploy kullanarak).

Son olarak, test KAVANOZ kullanmak için test-jar belirli bir tür bağımlılık belirtmek gerekir:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>com.myco.app</groupId>
      <artifactId>foo</artifactId>
      <version>1.0-SNAPSHOT</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
  </dependencies>
  ...
</project>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boniver

    boniver

    17 NİSAN 2006
  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010