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

  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007