程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 對象-eclipse插件開發 如何取得一個項目的java文件對應的IClassFile

對象-eclipse插件開發 如何取得一個項目的java文件對應的IClassFile

編輯:編程綜合問答
eclipse插件開發 如何取得一個項目的java文件對應的IClassFile

做了一個Eclipse插件,操作一個java項目,我可以獲得src中的java文件(鼠標選中)的IFile對象,但是無法獲得它對應的bin中的Class文件的IClassFile對象。理論上,我認為很容易實現,但是現實終究不如人意,網上找了很多,都沒有答案(英文網站也搜過,也可能是我查的方法不對),誰能給我點幫助,謝謝。

PS:對於lib裡的jar文件中的類,通過IJavaProject.findType(類全名)方法可以獲得對應類的IType,然後通過IType的getClassFile方法,可以獲得IClassFile對象。但是對於src(或bin)中的東西不行,只能獲得IType,而getClassFile方法得到的結果是NULL。問什麼?要怎麼做?

最佳回答:


不知道是我沒說明白,還是大家都不會,或者不屑回答,連點建議都沒收到 @- -@!! !

認真看過我問題的都謝過,這個問題我自己已經解決(解決方法不知道是否簡單,但算正規吧)。

首先說下原因,這個問題大體是因為classpath(IClassEntry[])中沒有bin目錄(跟想象的不一樣啊,只有src目錄),所以只能訪問src中java文件,而遮蔽了對應的class文件(個人想法)。

所以,要想訪問bin下的class文件,取得IClassFile對象,必須把bin目錄加入到Classpath中。我的做法是,通過副本,把classpath的src目錄換成bin目錄,然後使用修改後的副本的就可以了。

ps:修改classpath的動作必須針對副本,不然無效,並且這種操作對項目本身的classpath(buildpath)會有實質改動。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved