簡體   English   中英

在OSGi應用程序中獲取Eclipse項目信息

[英]Getting Eclipse project info within an OSGi application

我正在研究一個項目,該項目使用Eclipse AST檢查Eclipse Java項目並獲取源文件的一些信息。 現在它是一個Eclipse插件,但是我們需要使其獨立於Eclipse,我們僅使用Eclipse的AST庫。

我嘗試復制所需的JAR並將其作為普通的Java應用程序運行(不是Eclipse插件,不依賴Eclipse),但是隨后我開始遇到一些錯誤,因為當我在Eclipse之外運行該應用程序時,AST無法獲取Eclipse需要的信息(項目數據),在某些情況下返回null。 例如,當我訪問方法調用( MethodInvocationNode類)時,我需要知道這是哪個類的方法,但是由於我解釋了AST錯誤,所以我不能MethodInvocationNode.resolveMethodBinding()在這種情況下, MethodInvocationNode.resolveMethodBinding()返回null)。

我想我需要在Eclipse插件中獲取一個IProject ,我是從IWorkspaceResourcesPlugin.getWorkspace() )獲得的,我認為它在所有Eclipse插件中都可用。

現在,我想如果我可以制作一個OSGi應用程序,也許我可以以某種方式獲得該IProject但是我不知道該怎么做。 文檔和教程並沒有太大幫助。 我極有可能遺漏了有關Eclipse項目和/或OSGi應用程序的一些基本要點:)。

簡而言之,如何在OSGi應用程序中獲取IProject數據?

首先,每個Eclipse應用程序都是一個OSGi應用程序,因此在純OSGi環境或Eclipse中做事沒有區別。

其次在“工作區”是一個Eclipse的具體結構,所以使得你的應用程序“獨立”的從Eclipse的是沒有意義的,一個項目的內容,特別是Java項目都是特定的日食(所以你也必須解析.classpath文件與Eclipse的API,可以知道必須編譯哪些資源,解析.project文件等)。

工作區機制是org.eclipse.core.resources包的一部分。 您需要將其包含在OSGi應用程序中。 如前所述,您可以像在Eclipse環境中一樣訪問所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM