SORU
30 Aralık 2009, ÇARŞAMBA


Proje kullanma hakkında uyarı.üst.Maven 3 modül sürüm Sürüm

Modüller her zaman ebeveyn olarak, genellikle modülünde aşağıdaki gibi bir şey yaptım aynı sürüm pom.xml bu kalmalarını istiyorum multi-modül projeleri: maven

  <parent>
    <groupId>com.groupId</groupId>
    <artifactId>parentArtifactId</artifactId>
    <version>1.1-SNAPSHOT</version>
  </parent>

  <groupId>com.groupId</groupId>
  <artifactId>artifactId</artifactId>
  <packaging>jar</packaging>
  <version>${project.parent.version}</version>
  <name>name</name>

Bunu yaparken aşağıdaki uyarıyı alıyorum 3.0-alfa-5, maven kullanmaya başladığımdan beri.

[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.groupid.artifactId:name:jar:1.1-SNAPSHOT
[WARNING] 'version' contains an expression but should be a constant. @ com.groupid.artifactId:name::${project.parent.version}, /Users/whaley/path/to/project/child/pom.xml
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]

Herhangi bir üst versiyonu için bir modül versiyonu bağlama ile gerçek sorunun ne olduğunu bilmek merak ediyorum? Ya da bu, herhangi bir ifade, ne olursa olsun, proje olsun, ne zaman genel bir uyarı bir durumdur.üst.sürüm Sürüm öğesi için kullanılır.

CEVAP
30 Aralık 2009, ÇARŞAMBA


Herhangi bir üst versiyonu için bir modül versiyonu bağlama ile gerçek sorunun ne olduğunu bilmek merak ediyorum? Ya da bu, herhangi bir ifade, ne olursa olsun, proje olsun, ne zaman genel bir uyarı bir durumdur.üst.sürüm Sürüm öğesi için kullanılır.

Peki, bu test etmek için kolay olurdu. Merak ettim çünkü, ben sadece aşağıdaki pom kullanarak bunu yaptı

<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>parent</artifactId>
    <groupId>com.mycompany</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <groupId>com.mycompany</groupId>
  <artifactId>module</artifactId>
  <version>${myversion}</version>
  <name>module</name>
  <url>http://maven.apache.org</url>
  <properties>
    <myversion>1.0-SNAPSHOT</myversion>
  </properties>
  ...
</project>

Ve maven gerçekten şikayet ediyor:

[WARNING] 'version' contains an expression but should be a constant. @ com.mycompany:module:${myversion}, /home/pascal/Projects/maven-maven3-testcase/module/pom.xml

Dürüst olmak gerekirse, bu maven burada bence çok mantıklı <version> eleman (en azından proje.bir özelliği kullanmak için yapmaz. şikayet sürüm) ve güzel olması maven

Ve eğer alt modül, üst pom sürümünü kullanmak istersenizsadece alt sırada oturan <version> etiketi Kaldıronlar üst versiyonu devralır. Şu anda ne yapıyorsan, sadece işe yaramaz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • MkElite

    MkElite

    13 NİSAN 2012
  • The Verge

    The Verge

    8 AĞUSTOS 2006