これはそれを行うのに十分シンプルであるべきように思えるが、ANTは常に現在のbasedirへの相対的な要素を評価する上で主張しているように私は(これは、それを正しく行う方法についてのドキュメントを見つけることができませんでした間違っている、別のディレクトリにあるファイルからアクセスするため)。
ANTは間違っていません。 A build.xmlファイルは通常、プロジェクト(またはプロジェクトのサブコンポーネント)のファイルシステムのルートに存在し、そのビルドのロジックを表します。あなたが共有しようとしている場合
次の2つのプロジェクトの間のパスを共有したい場合は、それは悪い考えである、二つのプロジェクトはほとんど、あるいは、.....正確
を同じビルド・パスを共有しないだろう2つのプロジェクトのサブコンポーネント間のパス、なぜoveride the default value of the basdirプロパティは次のようにしませんか?
<project name="my-project" default="build" basedir="..">
..
最後に、私はApache ivyのような依存関係マネージャの使用を検討することをお勧め。あなたのビルドのクラスパスを管理しましょう。
更新
別のオプションは、パスの依存関係は、同じ相対的なファイル・システム・パスにあるように、あなたのプロジェクトのファイルを構築することです:
$ tree
.
|-- lib
| |-- dependency1.jar
| `-- dependency2.jar
|-- sub-component1
| `-- build.xml
`-- sub-component2
`-- build.xml
各サブコンポーネントのbuild.xmlはその後だそれを宣言する
<path id="build.path">
<fileset dir="../lib" includes="*.jar"/>
</path>
2つのプロジェクトのサブコンポーネントですが、その解決策では両方のビルドファイル同じbasedirを使用するには?私はそれを望んでいません、私はちょうど単一の特定の ''要素の内容を使い、それを元のファイルの内容に評価させたいと思います。 –
@RyanArcher別のオプションが投稿されました –
これはラウンドアバウトソリューションのようなものです...パスを別のbasedirから評価するコマンドはありませんか?プロパティを使って簡単に行うことができます... ''要素でそれを行う方法があるようです。 –