(İsteğe bağlı) Kodunuzu derlemek package ve bir .war dosyasına paketlemek için olarak ayarlayın. Bu bağımsız değişkeni boş bırakırsanız derleme başarısız olur. Daha fazla bilgi için bkz. Maven derleme yaşam döngüsüne giriş .
Maven derlemesi tarafından üretilen JUnit test sonuçlarını Azure Pipelines'da yayımlama seçeneğini belirtir. Her test sonuçları dosya eşleştirmesi Test Results Files Azure Pipelines'da bir test çalıştırması olarak yayımlanır.
Maven derlemesi tarafından üretilen JUnit test sonuçlarını Azure Pipelines/TFS'de yayımlama seçeneğini belirtir. Her test sonuçları dosya eşleştirmesi Test Results Files , Azure Pipelines/TFS'de bir test çalıştırması olarak yayımlanır.
Yayımlayacak test sonuçları dosyalarının yolunu ve desenini belirtir.
Joker karakterler kullanılabilir. Dosya eşleştirme desenleri hakkında daha fazla bilgi.
Örneğin, **/TEST-*.xml adı ile TEST-başlayan tüm XML dosyaları için. Kök yol belirtilmezse, dosyalar varsayılan çalışma dizininin altında eşleştirilir ve değeri değişkeninde $(System.DefaultWorkingDirectory)bulunur. Örneğin, değeri **/TEST-*.xml aslında dosyasından $(System.DefaultWorkingDirectory)/**/TEST-*.xmleşleşen dosyalarla sonuçlanır.
testRunTitle - Test çalıştırması başlığı string. İsteğe bağlı. when publishJUnitResults = truekullanın.
Test çalıştırması için bir ad belirtir.
allowBrokenSymlinks - Bozuk sembolik bağlantılara izin ver
Giriş diğer adı: allowBrokenSymbolicLinks. boolean. İsteğe bağlı. when publishJUnitResults = truekullanın. Varsayılan değer: true.
olarak ayarlanırsa false, görev test sonuçlarını yayımlarken bozuk bir sembolik bağlantı bulduğunda derlemeyi başarısız yapar.
codeCoverageToolOption - Kod kapsamı aracı
Giriş diğer adı: codeCoverageTool. string. İzin verilen değerler: None, Cobertura, JaCoCo. Varsayılan değer: None.
Kod kapsamı aracını belirtir. Kod kapsamının etkinleştirilmesi, Maven çalıştırıldığında temiz hedefi Maven hedefleri listesine ekler.
codeCoverageClassFilter - Sınıf ekleme/dışlama filtreleri
Giriş diğer adı: classFilter. string. İsteğe bağlı. when codeCoverageTool != Nonekullanın.
Sınıfların kod kapsamını toplamasına dahil etmek veya hariç tutmak için virgülle ayrılmış bir filtre listesi belirtir. Örneğin, +:com.*,+:org.*,-:my.app*.*.
codeCoverageClassFilesDirectories - Sınıf dosyaları dizinleri
Giriş diğer adı: classFilesDirectories. string. İsteğe bağlı. when codeCoverageTool = JaCoCokullanın.
Bu alan, çok modüllü bir proje için gereklidir.
Maven POM dosyasından sınıf dosyalarını ve arşiv dosyalarını (JAR, WAR vb.) içeren dizinlere giden göreli yolların virgülle ayrılmış bir listesini belirtir. Bu dizinlerdeki sınıf dosyaları için kod kapsamı bildirilir. Örneğin, target/classes,target/testClasses.
codeCoverageSourceDirectories - Kaynak dosya dizinleri
Giriş diğer adı: srcDirectories. string. İsteğe bağlı. when codeCoverageTool = JaCoCokullanın.
Bu alan, çok modüllü bir proje için gereklidir.
Maven POM dosyasından kaynak kod dizinlerine giden göreli yolların virgülle ayrılmış listesini belirtir. Kod kapsamı raporları, kaynak kodu vurgulamak için bunları kullanır. Örneğin, src/java,src/Test.
codeCoverageFailIfEmpty - Kod kapsamı sonuçları eksik olduğunda başarısız olur
Giriş diğer adı: failIfCoverageEmpty. boolean. İsteğe bağlı. when codeCoverageTool != Nonekullanın. Varsayılan değer: false.
Kod kapsamı yayımlamak için herhangi bir sonuç üretmediyse derleme başarısız olur.
codeCoverageRestoreOriginalPomXml - Görev yürütüldikten sonra özgün pom.xml geri yükleme
Giriş diğer adı: restoreOriginalPomXml. boolean. İsteğe bağlı. when codeCoverageTool != Nonekullanın. Varsayılan değer: false.
Kod kapsamı, sonuç üretmek için değiştirilir pom.xml . Özgün pom.xmlöğesini saklamanız gerekiyorsa bu seçeneği kullanın.
javaHomeOption - JAVA_HOME ayarlama ölçütü:
Giriş diğer adı: javaHomeSelection. string. Gereklidir. İzin verilen değerler: JDKVersion (JDK Sürümü), Path. Varsayılan değer: JDKVersion.
Derlemeler sırasında keşfedilecek bir JDK sürümü seçerek veya JDK yolunu el ile girerek ayarlar JAVA_HOME . Aracı makinede Java zaten yüklüyse JDK yüklü dizininin yolu olarak path ve jdkDirectory olarak ayarlayarak javaHomeOption belirtebilirsiniz.
Seçili JDK sürümünün yolunu bulmayı dener ve buna göre ayarlar JAVA_HOME . Not: Microsoft tarafından barındırılmayan bir aracıda çalıştırılıyorsa ve istenen Java sürümü aracı makinesinde ayarlanan değişken tarafından JAVA_HOME belirtilen sürüm değilse, görev gerekli JDK'yi bulmak için değişkenine JAVA_HOME_{version}_{arch} (örneğin: JAVA_HOME_8_X64) güvenir. Bu değişkenin, JDK'nin bu parametre ve/veya tarafından jdkArchitectureistenebilecek herhangi bir sürümü ve mimarisi için şirket içi barındırılan aracılarda ayarlandığından emin olun.
Değişkenini M2_HOME özel bir Maven yükleme yoluna ayarlar.
mavenOptions - MAVEN_OPTS olarak ayarlayın
Giriş diğer adı: mavenOpts. string. Varsayılan değer: -Xmx1024m.
JVM'yi MAVEN_OPTS başlatmak için komut satırı bağımsız değişkenleri göndermek için kullanılan ortam değişkenini ayarlar. bayrağı, -Xmx JVM için kullanılabilir en yüksek belleği belirtir.
mavenAuthenticateFeed - Yapıt akışlarıyla kimlik doğrulaması
Giriş diğer adı: mavenFeedAuthenticate. boolean. Varsayılan değer: false.
Azure Artifacts akışlarıyla otomatik olarak kimlik doğrulaması yapar. Yapıt akışları kullanımda değilse, daha hızlı derlemeler için bu seçeneğin seçimini kaldırın.
mavenAuthenticateFeed - Yerleşik Maven akışlarının kimliğini doğrulama
Giriş diğer adı: mavenFeedAuthenticate. boolean. Varsayılan değer: false.
Azure Artifacts akışlarıyla otomatik olarak kimlik doğrulaması yapar. Yapıt akışları kullanımda değilse, daha hızlı derlemeler için bu seçeneğin seçimini kaldırın.
effectivePomSkip - Artifacts akışlarıyla kimlik doğrulaması yaparken etkili POM oluşturma adımlarını atlayın
Giriş diğer adı: skipEffectivePom. boolean. Varsayılan değer: false.
Yalnızca POM kullanarak Artifacts akışlarıyla kimlik doğrulaması yapar.
effectivePomSkip - Yerleşik akışların kimliğini doğrularken etkili POM oluşturma adımlarını atlayın
Giriş diğer adı: skipEffectivePom. boolean. Varsayılan değer: false.
Yalnızca POM kullanarak Artifacts akışlarıyla kimlik doğrulaması yapar.
sonarQubeRunAnalysis - SonarQube veya SonarCloud analizini çalıştırma
Giriş diğer adı: sqAnalysisEnabled. boolean. Varsayılan değer: false.
Bu seçenek Maven görevinin 1. sürümünü kullanmaktan SonarQube ve SonarCloud market uzantılarını kullanmaya geçti. Hedefler alanında hedefleri yürüttkten sonra SonarQube veya SonarCloud analizini çalıştırmak için bu seçeneği etkinleştirin. Önce yükleme veya paket hedefi çalıştırılmalıdır. Bu Maven görevinden önce, uzantılardan birinden derleme işlem hattına Bir Çözümleme Yapılandırmasını Hazırlama görevi de eklemeniz gerekir.
isJacocoCoverageReportXML - SonarQube analizi için XML Jacoco raporlarını kullanma boolean. İsteğe bağlı. when sqAnalysisEnabled = true && codeCoverageTool = JaCoCokullanın. Varsayılan değer: false.
SonarQube analizi için XML Jacoco raporlarını kullanır. Test raporları hakkında daha fazla bilgi edinin.
sqMavenPluginVersionChoice - Maven sürümü için SonarQube tarayıcısı string. olduğunda sqAnalysisEnabled = truegereklidir. İzin verilen değerler: latest (En son sürümü kullan), pom (pom.xml bildirilen sürümü kullanın). Varsayılan değer: latest.
Kullanılacak SonarQube Maven eklenti sürümünü belirtir. En son sürümü kullanabilir veya sürümünüzdeki sürümü kullanabilirsiniz pom.xml.
checkStyleRunAnalysis - Checkstyle'ı çalıştırma
Giriş diğer adı: checkstyleAnalysisEnabled. boolean. Varsayılan değer: false.
Checkstyle aracını varsayılan Güneş denetimleriyle çalıştırır. Dosyada pom.xml Hiçbir Checkstyle yapılandırması belirtilmezse, varsayılan Güneş denetimleri kullanılır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
pmdRunAnalysis - PMD çalıştırma
Giriş diğer adı: pmdAnalysisEnabled. boolean. Varsayılan değer: false.
Koddaki hataları aramak için PMD statik analiz aracını kullanır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
findBugsRunAnalysis - FindBugs'ı çalıştırma
Giriş diğer adı: findbugsAnalysisEnabled. boolean. Varsayılan değer: false.
Koddaki hataları aramak için FindBugs statik analiz aracını kullanır. Sonuçlar derleme yapıtları olarak karşıya yüklenir.
spotBugsRunAnalysis - SpotBugs analizini çalıştırma
Giriş diğer adı: spotBugsAnalysisEnabled. boolean. Varsayılan değer: false.
SpotBugs kod analizi eklentisini çalıştırmak için bu seçeneği etkinleştirin. SpotBugs Maven eklentisi hakkında daha fazla bilgi.
spotBugsVersion - Sürüm numarası
Giriş diğer adı: spotBugsMavenPluginVersion. string. İsteğe bağlı. when spotBugsAnalysisEnabled = truekullanın. Varsayılan değer: 4.5.3.0.
spotBugsGoal - Spotbugs eklentisinin hedefi string. İsteğe bağlı. when spotBugsAnalysisEnabled = truekullanın. İzin verilen değerler: spotbugs ("spotbugs" - Bulunan hatalarla ilgili bir rapor oluşturur), check ("check" - Hata algılanırsa işlem hattı başarısız olur). Varsayılan değer: spotbugs.
Eklentinin hedefini belirtir. SpotBugs hedefleri hakkında daha fazla bilgi edinin.
failWhenBugsFound - Spotbugs:check ile hatalar bulunduğunda başarısız olur
Giriş diğer adı: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. boolean. İsteğe bağlı. when spotBugsAnalysisEnabled = true && spotBugsGoal = checkkullanın. Varsayılan değer: true.
Hedefi Denetle belirtilirse hatalar bulunduğunda başarısız olur. SpotBug parametresi ayrıntıları hakkında daha fazla bilgi edinin.
içinde MAVEN_OPTSseçeneğini kullanırken -q etkili bir pom doğru oluşturulmaz ve Azure Artifacts akışlarının kimliği doğrulanamaz.
Önemli
Kullanmak istediğiniz JDK sürümü aracınızda zaten yüklüyse olarak ayarlayın javaHomeOptionpath ve JDK sürümünün yolunu ayarlayın jdkDirectory . Bu seçenekler, Maven görevi için gereken ortam değişkenini ayarlar JAVA_HOME_11_X64 . Java Aracı yükleyici görevini kullanıyorsanız bu ortam değişkeni otomatik olarak ayarlanır.
SSS
Çok modüllü bir projem var ama derlemem başarısız oluyor. Neyi denetlemeliyim?
ve #codeCoverageSourceDirectories öğesini bir görev girişi olarak belirttiğinizden #codeCoverageClassFilesDirectories emin olun. Bu iki parametre tek bir modül projesi için isteğe bağlıdır ancak çok modüllü projeler için gereklidir.
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.