jdt
및 eclipse core
라이브러리를 사용하여 프로젝트를로드 할 수 있습니다.
다음 코드를 사용하면 작업 영역의 모든 프로젝트를로드 할 수 있습니다.
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
// Get all projects in the workspace
IProject[] projects = root.getProjects();
그런 다음 패키지와 차례로 java 파일을 가져올 수 있습니다.
IPackageFragment[] packages = JavaCore.create(project).getPackageFragments();
IPackageFragment mypackage = packages.get(0); // implement your own logic to select package
ICompilationUnit unit = mypackage.getCompilationUnits();
은 그럼 당신은
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(unit);
parser.setResolveBindings(true);
CompilationUnit cUnit = parser.createAST(null);
이 CompilationUnit 개체가 ASTParser에 전달 될 수있는 CompilationUnit을 받고이 ICompilationUnit 객체를 사용할 수 있습니다.
Eclipse 프로젝트에서만 작동합니까? 즉, Java 프로젝트에서는 작동하지 않습니다. – bellpeace
jar 파일을 사용하여 Java 프로젝트에서 JDT를 사용할 수 없습니다. JDT를 사용하려면 프로그램을 플러그인 (또는 적어도 OSGi 지원 응용 프로그램)으로 실행해야합니다. –
좋아, 그래서 이클립스 프로젝트에 대해서만이 접근 방식으로. java 파일을 CompilationUnit에로드 할 수있다. 참고로, setSource (char []) 및 setEnvironment 메소드를 사용하여 이클립스 프로젝트 외부에서 JDT를 사용할 수 있습니다. (버전 3.6부터) – bellpeace