2013-10-22 9 views
11

pom.xmlに${basedir}の親ディレクトリを取得する方法はありますか?現在私は持っています

<earSourceDirectory>${basedir}/EAR/src/main/resources</earSourceDirectory> 

私のリソースは別のmavenプロジェクトにあるので、basedirの親ディレクトリにアクセスする必要があります。

$ {basedir}の親フォルダを取得するにはどうすればよいですか?

+1

あなたが '/ ../$' {project.basedir}を試したことがありますか? –

+1

はい..しかし動作しません...私は

答えて

5
${project.basedir}/../ 

ただし、別のモジュールのリソースにアクセスすることは避けようとしています。私はunpack goal of the maven-dependency-pluginを使用することをお勧めします。

+0

私は、C:\ Users \ User \ Documents \ NetBeansProjects \ MavenEARExample \ MavenEARExample-ear/NetBeansProjects \ MavenEARExample \ –

4

非常に悪い習慣と考えられているので、basedirの外に出ようとしないでください。 今成功したとしても、回避策を回避するための回避策の開始となり、Mavenと戦うことになります。結局、Mavenが勝つでしょう。 開発者がpom.xmlのディレクトリをチェックアウトする場合、他のディレクトリへの参照なしでmvn verifyでプロジェクトを実行できるはずです。

これらが共有リソースの場合は、それを別のプロジェクトにしてそれを依存関係として組み込みます(マルチモジュールプロジェクトを検索する)。またはmaven-remote-resources-pluginを使用して、これらのリソースをプロジェクトに引き込むことができます。子供たちには

+0

Robertさんには明らかな説明があります。 –

3

:孫で

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

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

Maven 3の後はもう廃止 – tribbloid

関連する問題