Eclipse下的Java工程用JavaProject对象获取配置信息(不用读取配置文件)
2014-06-29 13:30
471 查看
Eclipse下Java工程导入和导出时经常要用到Java工程路径、源码文件夹路径、class文件路径等配置信息,大致思路是根据工作台对象获取选中工程或者工作空间下所有Java工程,创建JavaProject对象,再通过JavaProject对象相关方法获取配置信息。
获取选中IProject对象:
private void initialize() {
if ((this.selection != null) && (!this.selection.isEmpty())
&& ((this.selection instanceof IStructuredSelection))) {
IStructuredSelection ssel = (IStructuredSelection) this.selection;
if (ssel.size() > 1)
return;
Object obj = ssel.getFirstElement();
if ((obj instanceof IResource)) {
if ((obj instanceof IContainer))
container = (IContainer) obj;
else
container = ((IResource) obj).getParent();
project = container.getProject();
}
updateTree();
}
}
获取工程路径:
project.getLocation().toOSString() ;
获取工程名:
project.getName();
根据IProject对象创建JavaProject对象:
IJavaProject javaProject = JavaCore.create(project);
获取class文件输出路径:对应.classpath文件中配置<classpathentry kind="output" path="build/classes"/>
javaProject.getOutputLocation().toOSString();
遍历工程路径下所有目录:
IPackageFragmentRoot[] roots=javaProject.getAllPackageFragmentRoots();
for(IPackageFragmentRoot root:roots){
//System.out.println("***********"+root.getPath()+"kind="+root.getKind());
if(root.getKind()==1){
String srcPath=root.getPath().toOSString();
map.put(srcPath, classesPath);
}
}
IPackageFragmentRoot.getKind()方法返回值为int类型数值,1代表工程src路径,获取.classpath文件中的配置<classpathentry kind="src" path="ttt"/>,返回值2代表l类型为引用jar包,对应.classpath中的配置<classpathentry kind="lib" path="lib/junit-4.8.2.jar"/>
另外也可以通过解析配置文件.classpath,.project 文件获取Java工程配置信息。
获取选中IProject对象:
private void initialize() {
if ((this.selection != null) && (!this.selection.isEmpty())
&& ((this.selection instanceof IStructuredSelection))) {
IStructuredSelection ssel = (IStructuredSelection) this.selection;
if (ssel.size() > 1)
return;
Object obj = ssel.getFirstElement();
if ((obj instanceof IResource)) {
if ((obj instanceof IContainer))
container = (IContainer) obj;
else
container = ((IResource) obj).getParent();
project = container.getProject();
}
updateTree();
}
}
获取工程路径:
project.getLocation().toOSString() ;
获取工程名:
project.getName();
根据IProject对象创建JavaProject对象:
IJavaProject javaProject = JavaCore.create(project);
获取class文件输出路径:对应.classpath文件中配置<classpathentry kind="output" path="build/classes"/>
javaProject.getOutputLocation().toOSString();
遍历工程路径下所有目录:
IPackageFragmentRoot[] roots=javaProject.getAllPackageFragmentRoots();
for(IPackageFragmentRoot root:roots){
//System.out.println("***********"+root.getPath()+"kind="+root.getKind());
if(root.getKind()==1){
String srcPath=root.getPath().toOSString();
map.put(srcPath, classesPath);
}
}
IPackageFragmentRoot.getKind()方法返回值为int类型数值,1代表工程src路径,获取.classpath文件中的配置<classpathentry kind="src" path="ttt"/>,返回值2代表l类型为引用jar包,对应.classpath中的配置<classpathentry kind="lib" path="lib/junit-4.8.2.jar"/>
另外也可以通过解析配置文件.classpath,.project 文件获取Java工程配置信息。
相关文章推荐
- java工程如何读取配置文件并获取配置文件中的属性值
- Java中读取配置文件中的信息,并利用配置文件中的信息创建对象
- Java Properties 类读取配置文件信息
- 使用 Unity(二):配置 Unity 、读取配置信息和获取对象
- Java Properties 类读取配置文件信息
- Java中框架的概念,以及从配置文件中读取配置信息并加载指定类
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- 利用Java的Properties类读取配置文件信息
- java 读取工程下面的配置文件
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- java应用程序获取Web工程下的配置文件
- Java中框架的概念,以及从配置文件中读取配置信息并加载指定类
- 使用 Unity(二):配置 Unity 、读取配置信息和获取对象
- 利用Java的Properties类读取配置文件信息
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- java 读取工程下classes配置文件
- Java Properties 类读取配置文件信息