為了要發佈uDig套件花了不少時間在比對eclipse 3.5跟uDig1.2RC之間的plugin版本,發佈前還套用新的SWT版本並且整合jfreechart來用。總共花了快要4天的時間才有點搞懂Eclipse RCP中的feature與plug-in的分別,也因為這樣這一次的問題才有解~~~
在uDig1.2RC發現有內附jFreeChart的套件,但開發時遇到了一個問題就是uDig本身是Eclipse RCP開發而成的,使用的UI套件並不是java的awt/swing而是SWT,jFreeChart的繪製工具一般而言都是畫在Swing GUI裡,所以我們使用的方法就是下在最新的jfreechart1.0.13版本,接著置換掉
\udig-sdk\plugins\net.refractions.udig.libs_1.2.0\lib 裡關於jfreechart的檔案、
\udig-sdk\plugins\net.refractions.udig.libs.source_1.2.0\src\net.refractions.udig.libs_1.2.0\lib 裡jfreechart的原始碼,接著修改C:\java\target\udig-sdk\plugins\net.refractions.udig.libs_1.2.0\META-INF\MANIFEST.MF檔案,的Bundle-ClassPath:將jfreechart相關的jar都加入,這樣就可以開心的使用新版的JFreeChart在SWT套件裡。
發佈的時候在發佈時會有出現找不到plug-in的錯誤,但是怎麼用都不對,最後再看了eclipse\plugins與udig-sdk\plugins裡面的jar差異,終於在每換一個檔案重開一次eclipse以讓target可以完整的更新後發佈成功,以下列出換掉的檔案與資料夾
資料夾:
org.eclipse.rcp_3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6
org.eclipse.rcp.source_3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6
檔案:
org.eclipse.swt.win32.win32.x86.source_3.5.1.v3555a.jar
org.eclipse.swt.win32.win32.x86_3.5.1.v3555a.jar
org.eclipse.swt_3.5.1.v3555a.jar
org.eclipse.core.expressions.source_3.4.100.v20090429-1800.jar
org.eclipse.core.expressions_3.4.100.v20090429-1800.jar
org.eclipse.osgi.source_3.5.1.R35x_v20090827.jar
org.eclipse.osgi_3.5.1.R35x_v20090827.jar
org.eclipse.jface_3.5.1.M20090826-0800.jar
org.eclipse.ui_3.5.1.M20090902-1000.jar
org.eclipse.ui.workbench_3.5.1.M20090826-0800a.jar
org.eclipse.rcp.source_3.5.0.v200909170800.jar
org.eclipse.rcp_3.5.0.v200909170800.jar
org.eclipse.equinox.app_1.2.0.v20090520-1800.jar
org.eclipse.equinox.app.source_1.2.0.v20090520-1800.jar
org.eclipse.equinox.preferences.source_3.2.300.v20090520-1800.jar
org.eclipse.equinox.preferences_3.2.300.v20090520-1800.jar
以上的檔案都是udig-sdk提供的,因為他跟eclipse的plugin相沖,所以用eclipse的pluring的版本,這樣就可以發佈成功了。
沒有留言:
張貼留言