如何在Eclipse RCP中使用第三方包

來源:互聯網
上載者:User

當我們在RCP中直接加入jar,是無法執行個體的,需要手動的設定一些地方,才能正常運行。

我們拿一個簡單的樣本來說明,這個樣本使用的是eclipse rcp的template中最簡單的一個,也就是大家都見過的Hello,RCP。我用的eclipse版本是3.2M2。
  為了便於說明,我自己寫了一個java檔案然後打包成jar,再在rcp程式中調用它。這個程式是這樣的:
  Code:
  package demo;
  public class Hello {
   public static String sayHello()
   {
   return "hello,world";
   }
  }
  [Ctrl+A Select All]
  就這麼簡單,打包後做成一個hello.jar。具體過程略去不談。
  然後我們建立一個rcp application,具體過程也略去不談。這裡需要提醒大家的是rcp工程的名字最好用小寫英文,用大寫的話可能會出一些問題,至少在我用的這個版本是這樣。
  建好以後在下面建立一個lib目錄作為存放第三方庫的目錄。再把前面做好的hello.jar拷貝過去。參見。
  

  圖1
  在RCP工程中,你可以有兩種辦法把jar加入到class path中,你可以任選一種:
  在RCP工程中,你可以有兩種辦法把jar加入到class path中,你可以任選一種:
  在RCP工程中,你可以有兩種辦法把jar加入到class path中,你可以任選一種:
  和普通的工程一樣,加入到build path裡面,參見下面圖2開啟plugin的Build頁面,注意到最下面有個“Extra Classpath Entries”了嗎?展開以後選Add Jars把需要的jar加進去,有同樣的效果,參見圖3

  圖2
  

  圖3
  我在這裡說“任選一種”的意思是不要兩種辦法同時用,否則工程會報錯。
  在上面的工作都做完之後,仍然在plugin的Build頁面上,左邊的Binary Build下面把你程式的輸出目錄(我的工程裡面是bin)和你的jar所在的目錄(我的工程裡面是lib)打勾,這樣輸出時候會包含你編譯後的檔案以及第三方庫。仍然參照第三張圖
  然後切換到plugin的Runtime頁面,在右下角的Classpath裡面把你程式的輸出目錄(我的程式裡面是bin)和你所有要包含的jar檔案(我的程式裡面是lib/hello.jar)都加進去。參照圖4,這樣就基本上完成了。
  

  圖4
  之後所要做的事情就是修改程式了,我在這裡只是簡單地把程式的標題做了修改,找到ApplicationWorkbenchWindowAdvisor這個類,把preWindowOpen修改成下面這樣:
  Code:
   public void preWindowOpen() {
   IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
   configurer.setInitialSize(new Point(400, 300));
   configurer.setShowCoolBar(false);
   configurer.setShowStatusLine(false);
   configurer.setTitle(Hello.sayHello());
   }
  [Ctrl+A Select All]
  這個樣本就完成了,之後產生product檔案後export出來就可以看到結果了。過程也略去不談。
  運行以後會發現標題列從“Hello,RCP”變成了“hello,world”,參見第圖5
  

 轉載自:http://hi.baidu.com/lingyu125/blog/item/5e870d16a723561fc93d6d53.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.