S-JIS[2013-02-10/2013-02-11] 変更履歴

Eclipse JDT IJavaProject

Eclipseプラグイン開発JDTのIJavaProjectについて。


概要

IJavaProjectは、Javaプロジェクト(ワークスペース上で小さな「J」が付いているプロジェクト)を表すインターフェース。


IJavaProjectの取得方法

IProjectからIJavaProjectを取得する方法。

import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
	IProject project = ;
	IJavaProject javaProject = JavaCore.create(project);
	if (javaProject == null) {
		// Javaプロジェクトではない
	}

メソッド名がcreate()になっていることから分かるように、IJavaProjectオブジェクトのインスタンス自体は呼び出す度に作られる。

IProjectを取得する方法


IClasspathEntryの取得方法

Javaプロジェクトのビルドパス(クラスパス)の一覧を取得する例。[2013-02-11]

	IJavaProject = 〜;
	IClasspathEntry[] entries = project.getRawClasspath();
	for (IClasspathEntry ce : entries) {
		IClasspathEntry resoleved = JavaCore.getResolvedClasspathEntry(ce);
		IPath path = resoleved.getPath();
		File file = path.toFile();
		〜
	}

getRawClasspath()で取れるIClasspathEntryは、内部で管理しているパスで表現されている。
これを実際のファイルシステム上で使えるパスに変換するのがJavaCore.getResolvedClasspathEntry()。

IClasspathEntryの例
ソースフォルダー raw /project1/src
resolved /project1/src
JRE raw org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6
resolved org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6
変数指定の
jarファイル
raw M2_REPO/org/slf4j/slf4j-api/1.6.6/slf4j-api-1.6.6.jar
resolved C:\Users\hishidama\.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar

JDTへ戻る / Eclipseプラグインへ戻る / Eclipseへ戻る / 技術メモへ戻る
メールの送信先:ひしだま