2010-11-22 19 views
3

Maven çoklu modüller projesinde çalışıyorum. Belirli bir modülü oluşturmak ve inşa sürecini hızlandırmak için ünite testlerini atlamak istiyorum.Maven reaktörü kullanırken nasıl test atlıyorsunuz?

aşağıdaki denedim:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

Ancak bu hiç bir etkisi yoktur. Herhangi bir ipucu?

cevap

6

İlk satırınız doğru fikir gibi görünüyor, ancakyerine, -Dmake.goals kullanmalısınız. reactor plugin examples page itibaren

:

reaktör eklentisi sihrini yapmak Maven ikinci kopyasını başlatır. Maven'ın bu kopyasının, adresindeki numaranızdaki tüm bayrak ve seçeneklerine sahip olmanız gerekmez; Maum'un ilk kopyasına, , --debug bayrağı, sistem özellikleri ve -DskipTests dahil.

Böyle -Dmake.goals ile hedefleri, gibi davranarak kökenli Maven ek argümanlar iletebilirsiniz: "hedefler" sadece ekstra komutu vardır: diğer bir deyişle

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests 

çizgi parametreleri, yumurtlanan Maven'e geçti; 'un "hedef" olmaları gerekmez.

Eğer gerçekten fantezi olsun istiyorsanız, yukarıda açıklanan -Dmake.printOnly modunda sadece kuru çalışma reaktör eklentisi, tercih edebilirsiniz. , eklentinin oluşturulmasında kullanacağı komutunu yazdıracaktır, ancak bu komut satırını kalbinizin içeriğine göre ayarlayabilirsiniz!

+1

Bu çivilenmiş !! -Dgoals'ta eksik olan "make" in her şeyiydi. Teşekkürler. –

2

Çalıştırmakta olduğunuz komut satırı bağımsız değişkenine -Dmaven.test.skip=true (durumu bildir) seçeneğini eklemeyi denediniz mi? Java gibi, Maven büyük/küçük harfe duyarlıdır. Ancak genellikle = gerçek parçayı bırakabilir ve bu da testlerin atlanmasına neden olabilir. için

/ 
    A/pom.xml 
    B/pom.xml 
    C/pom.xml 
    D/pom.xml 
    E/pom.xml 
    pom.xml (parent pom file that includes A,B,C,D,E modules) 

Benzer proje yapı göz önüne alındığında

+0

Bu benim için çalışmaz. İşte denedim satır: mvn reactor: make -Dmake.folders = search -Dgoals = paket, -Dmaven.test.skip = true –

+3

-Dgoals ve -Dmaven.test.skip arasındaki virgül olduğunu varsayalım bir yazım hatasıdır. Eğer öyleyse, etkili pom.xml dosyasını oluşturmayı denediniz mi? Pom.xml dosyalarındaki bir şey komut satırı test atlamanızı geçersiz kılabilir.Bu garip, çünkü komut satırı settings.xml ve pom.xml'deki herhangi bir şeyi geçersiz kılmalıdır. Etkin pom.xml'yi oluşturmak için bu ==> mvn help: effective-pom komutunu çalıştırın. Eminfire eklentisini arayın ve skipTests ayarlanmış olup olmadığını görün. – jgifford25

3

senin

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True 

benim yaklaşım reaktör eklentisi yaradığını TAM yapar, ama ben şu yaklaşım iyi çalıştı bulundu emin değilim rağmen benim için yeterli

mvn -pl=C,D,E -DskipTests=true package 
+0

Şu anda sizin için çalışan maven.test.skip veya skipTests 'i kullanabilirsiniz (yalnızca Surefire ve diğer bazı süitleri kullanıyorsanız, aynı şekilde davranmaları gerekir) – nivekastoreth

+2

Aynı şekilde davranmıyorlar. maven.test.skip testleri oluşturmaz, skipTests sadece onları yürütmez. Başka bir modül test kavanozuna bağımlılığı tanımlarsa (farklı modüllerin testleri arasındaki bağımlılıklar), modül derlenmez. – Christoph

İlgili konular