SORU
18 HAZİRAN 2009, PERŞEMBE


Üst dizini gösteren Maven2 özelliği

Çoklu modülleri bir proje, bunun gibi:

main-project/
    module1/
    module2/
        sub-module1/
        sub-module2/
        sub-module3/
        ...
    module3/
    module4/
    ...

Maven2 özellikleri bir dizi olan projemi yayınlamak istiyorum çevreye bağımlı () tanımlamak gerekiyor. Özellikleri bir sürü var gibi <properties> kullanmayacağım... Böylece, Properties Maven2 plugin kullanıyorum.

Özellikleri main-project/ dizininde bulunan dosyaları. Nasıl ana doğru dizin özellikleri, dosya bulmak için herhangi bir çocuk için belirtmek için pom.xml set alabilir miyim?

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-1</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>read-project-properties</goal>
            </goals>
            <configuration>
                <files>
                    <file>???/env_${env}.properties</file>
                </files>
            </configuration>
        </execution>
    </executions>
</plugin>

Ancak o zaman Maven2 ilk modülü derler <file>env_${env}.properties</file>, main-project/env_dev.properties dosyayı bulmak. Eğer başım belaya girerse <file>../env_${env}.properties</file>, Bir hata alt modül herhangi bir düzeyde, bir üst düzeyde, ya da ortaya çıkacaktır.

CEVAP
19 HAZİRAN 2009, Cuma


Her pom bir özellik ana proje dizini bulmak için ayarlamayı deneyin.

Üst:

<properties>
    <main.basedir>${project.basedir}</main.basedir>
</properties>

Çocukları:

<properties>
    <main.basedir>${project.parent.basedir}</main.basedir>
</properties>

İçinde torunları:

<properties>
    <main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Pepsi

    Pepsi

    1 Kasım 2005
  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • tseyina

    tseyina

    2 AĞUSTOS 2006