| Eclipse活用編 |
|
Eclipse上で大規模な開発を行う場合、開発内容を機能ごとに分割し、独立したプロジェクトを作成する場合が多いでしょう。そのようなときに、あるプロジェクトから別のプロジェクトにあるファイル(例えばjarファイル)の参照が必要なことがあります。
Eclipseのプロジェクトは、デフォルトではファイルシステム上のある特定のパスの直下に作成されます(Windowsでは、Eclipseのインストール先ディレクトリにあるworkspaceディレクトリの下)。すべてのプロジェクトがこのパスの直下にあれば、「../プロジェクト名」という相対パスで任意のプロジェクトにアクセスすることができます。
しかし、開発が進んでプロジェクトのファイルサイズが膨大になってくると、ディスク容量の制約などの理由から、すべてのプロジェクトが同一パスの直下に置かれていないというケースが起こることがあります。このような場合でもファイルを参照できるようにするには、プロジェクトがファイルシステム上のどこに格納されているかを絶対パスで知る必要があります。
その点、Eclipseでは、Javaプログラムのビルドや実行を行う際にビルドパスやクラスパスにほかのプロジェクトのファイルが含まれていると、動的に絶対パスへの変換を行ってくれます。そのため、プロジェクトの絶対パスについてユーザーが特に意識する必要はありません。しかし、Eclipse上でAntを起動し、Antスクリプト上からほかのプロジェクトのファイルを参照する場合は、そのプロジェクトが置かれている絶対パスを明示的に取得する必要があります。これには、eclipse.convertPathタスクを使用します。
■解説
eclipse.convertPathタスクは、Eclipseのリソースパス(/プロジェクト名、または/プロジェクト名/プロジェクト内の相対パス)から、そのリソースが格納されているファイルシステム上の絶対パスを取得し、指定されたプロパティにセットします。逆に、ファイルシステム上の絶対パスまたは相対パスから、リソースパスを取得することもできます。
eclipse.convertPathタスクで使用できる属性は、以下のとおりです。
| 属性名 | 内容 | 必須 |
| resourcePath | リソースパス(/プロジェクト名、または/プロジェクト名/プロジェクト内の相対パス) | resourcePathまたはfileSystemPathのいずれかが必須 |
| fileSystemPath | ファイルシステムの絶対パス名、または相対パス | |
| property | セットするプロパティ名 | 必須 |
eclipse.convertPathタスクは、Eclipse上でAntを実行したときにのみ有効で、eclipse.runningプロパティがセットされているかを確認することで、eclipse上でAntが実行されたかどうかを確認することができます。
Eclipse上のsample1プロジェクトにあるAntスクリプト(build.xml)を実行した際、eclipse.convertPathタスクを使用して、sample2プロジェクトの絶対パスとカレントディレクトリのリソースパスを取得するサンプルプログラムを以下に示します。
<?xml version="1.0" encoding="Shift_JIS"?> |
このサンプルプログラムを実行すると、結果は以下のようになります。
Buildfile: C:\workspace\sample1\build.xml |
以下は、このサンプルプログラムのEclipse上での実行結果です。
![]() |
| Eclipse上での実行結果 |
| 「Java TIPS」 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

