Eclipse RAP Deploy – 針對Eclipse 3.5 + Tomcat

來源:互聯網
上載者:User

在網上查了很長時間關於RAP的部署問題,得到了一個相同的答案:利用Eclipse提供的rap.demo.feature外掛程式自動產生,但是試了半天總是出現錯誤:“An entry point named 'default' does not exist”,於是以為應該加自己的進入點,所以改成了?startup=hello,這裡hello是RAP中定義的entry point,可是又報'hello' does not exist,如此再三最終不得不放棄這一方法。

到現在我也不知道到底是我操作的不對,還是這一方法對於3.5就是扯淡,總之一句話沒有試出來。這讓我想起幾個星期以前弄DND的時候,明明jar包中包含相應的DND支援,可是就是通不過,後來實在沒辦法,只能下載最新的jar包,上、通過。真TMD想F她大爺!

好了,廢話不多說,好好描述一下成功的經驗吧。首先假定你已經有一個RAP工程等待部署,它的工程名可以是任意的,我們這裡假定為xxx.yyy。

1、在你非常喜歡的一個目錄下建立如下目錄結構:
請注意目錄rap_web_deploy就是你非常喜歡的那個目錄。

2、定義一個feature工程:file/new/other.../feature project;並在“Referenced Plug-ins and Fragments”對話方塊中選定你的plugins 工程xxx.yyy以及所有的非source外掛程式、非javax.servlet外掛程式、非jetty外掛程式,有些情況下如果你的系統中有org.apache.commons.logging外掛程式的話,那麼它也不應該被選定。再羅嗦一下,以上提到的四種外掛程式都不要選中,因為我們要把RAP部署到Tomcat中。

3、定義完feature工程後,將其export出去,選擇“deployable features”項,並將export設定為匯出到目錄,一定記住匯出到eclipse目錄下。在操作過程中Eclipse將會把你選中的所有Plugins自動拷貝到eclipse/plugins下。

4、從你的Eclipse安裝目錄下的plugins目錄中找到並拷貝org.eclipse.update.configurator_3.3.0.v20090312.jar檔案到上述目錄結構的plugins中;當然我這裡給的是我的系統中的檔案,你的可能版本不一樣,但是只要名字對就行;

5、分別將servletbridge.jar放到以上目錄結構的lib中;而將org.eclipse.equinox.http.servletbridge_1.0.0.HEAD.jar放到plugins中;這兩個檔案可以從這裡/Files/wayne_wang/servletbridge.zip得到

6、在configuration目錄中建一個config.ini檔案,檔案內容如下:
#Product Runtime Configuration File
osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@start,org.eclipse.equinox.http.servletbridge@start,org.eclipse.equinox.http.registry@start,com.tr.helloworld.feature@start
osgi.bundles.defaultStartLevel=4

給大家一個例子:/Files/wayne_wang/config.rar,千萬要注意的是com.tr.helloworld.feature@start就是你定義的那個feature工程的feature ID,它也許和工程名不同,但是只要使用feature ID就可以了,不要死教條。

6、在WEB-INF目錄下定義web.xml檔案,給一個例子:/Files/wayne_wang/web.rar,不必修改就可以用了,當然如果你的程式需要更多的配置,可能還要進一步更新它,在這裡就不贅述了。

7、WEB-INF目錄壓縮,改名為任意檔案名稱.war,例如hello.war,然後部署其到Tomcat中,這個就不用我講了。那麼怎麼訪問呢?其實訪問的URL是:

http://localhost:8080/hello/rap,這時系統將尋找預設的'default' entry point,如果你的程式沒有定義,呵呵一定出錯,這時只要使用?startup=hello就可以了,其中hello是你的RAP外掛程式定義的entry point。可是這時候你可能會發現你的themes並沒有起作用,那麼好,只要將rap替換為你定義themes的時候給定的servlet name就可以了。

以下是我的程式介面,看看,還不錯吧!

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.