2016-04-04 18 views
0

Biri bir webapp, bir kavanoz, 2 projem var. Her ikisi de maven'deki projelerdir ve webapp, kavanozu bağımlı olarak kullanır. Son zamanlarda buildnumber-maven-plugin'i uygulayabildim, şimdi scm revizyonuna başvurmak için her birinin $ {buildNumber} özelliği var.Emlak Maven Bağımlılık alın

Her ikisinin de sürümlerini gösterdiğim ve sürüm numaralarının yanı sıra revizyon numaralarını göstermek istediğim bir kullanıcı arayüzüne sahibim. $ {BuildNumber} özelliğini, ana uygulamadan bağımlılığın pompasından nasıl alabilirim?

cevap

0

Bir özellik dosyasına yazmak için maven kullanırım ve bu dosya bir servlet veya bunun gibi bir şey tarafından okunacaktır.

Denemedim, ama bu ipucu. İlk olarak, savaşımda bir özellik dosyası. Bu dosya içerir:

version = ${project.version} //the value comes from maven 

Secondely, bir servlet ya da her türlü sunucu tarafında (örneğin DİNLENME kaynak), o okuma özelliği ve pom değiştirerek Üçüncüsü ön

, ile iletişim kurabilir böyle savaş:

<build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
       <includes> 
        <include>**/*.properties</include> 
       </includes> 
      </resource> 
     </resources> 
<build> 

Umut bu yardım

+0

bunu zaten aldı, bu beni bağımlılık sürümüne getiriyor, ama düzeltmeyi değil # – nmb1106

+0

kötüyüm, bu makalenin sonu olabilir http://blog.codehangover.com/track-every-build- sayı-ile-maven/ – vincent

0

belirtildiği gibi Düzeltme numarası, pompanızda $ {buildNumber} kullanılarak kullanılabilir. Eğer Vincent'ın cevap talimat kullanabilirsiniz Uygulamaya giden

<finalName>$\{project.artifactId}-r$\{buildNumber}</finalName> 

mevcut kaynaklar bunu yaymak.

+0

aynı şey, bu mevcut uygulamanın yapı numarasını alır, ama bağımlılıklar hakkında ne dersiniz? – nmb1106

+0

WAR içindeki ek JAR yapısını bilmek istiyorsanız, her JAR: jar1_version.properties, jar2_version.properties içinde buildNumber özellik dosyasına sahip olabilirsiniz. Ana savaşta onları sınıf yolundan yükleyebilirsiniz: 'String props [] = new String [] {" jar1_ver.props "," jar2_ver.props "}; Için (String p: Arrays.asList (yardımcı)) { Özellikler p1 = new Properties(); p1.load (this.getClass(). GetResourceAsStream (p)); p1.get ("versiyon"); } ' –

İlgili konular