插件安裝完後,在eclipse菜單 window --> preferences 下可以看到SOA Tools 以及JAX-WS和SCA子菜單。
但是,選中SCA下面的Java項會提示一個錯誤信息: The current page contain invalid value .如圖所示:
這是STP中一個Bug引起的。
解決方法:可以從 http://stp.teamlet.org 下載已經修正的 STP V0.4.0 Plugin。在提交這個Bug之後,STP尚未發佈一個穩定版本,子項目的部分結構也發生了變化。所以這裏提供一個可以運行的修正版,可以實現文章中的例子。
2、提供STP依賴環境
這裏提供STP的依賴環境。可以將這個環境和上面提供的STP V0.4.0 Plugin分別以link方式引入eclipse。
這個環境包括:
EMF --- emf-sdo-xsd-SDK-2.2.0
GEF --- GEF-SDK-3.2
Java EMF Model Runtime --- JEM-SDK-1.2
Web Tools Platform --- wtp-sdk-R-1.5.0-200606281455
GMF Platform --- GMF-runtime-1.0.2
等...
可以避免四處下載依賴包,防止包版本不一致,防止遺漏包。
3、運行STP例子出現的問題
A、在運行的時候,控制檯提示錯誤:如下
org.apache.tuscany.spi.loader.UnrecognizedElementException: {http://incubator.apache.org/tuscany/xmlns/binding/rmi/1.0-incubator-M2}binding.rmi [{http://incubator.apache.org/tuscany/xmlns/binding/rmi/1.0-incubator-M2}binding.rmi]
Context stack trace: [application]
解決方法:需要把Tuscany_Home目錄中contrib目錄下的rmi-1.0-incubator-M2.jar複製到extensions目錄中。
Tuscany_Home是指在eclipse菜單中,window-->preferences-->SOA Tools-->SCA-->Java中Apache Tuscany所設置的目錄。
contrib和extensions是Tuscany_Home目錄中同級的子目錄。注意:不要把多餘的jar複製過來,只要rmi-1.0-incubator-M2.jar !
B、在運行的時候,控制檯提示錯誤:如下
Exception in thread "main" org.apache.tuscany.spi.component.TargetException: Error initializing component instance [directoryScanExtender]
at org.apache.tuscany.core.implementation.PojoAtomicComponent.init(PojoAtomicComponent.java:96)
at org.apache.tuscany.core.component.scope.InstanceWrapperImpl.start(InstanceWrapperImpl.java:49)
這是由於Tuscany SCA運行需要使用Maven本地庫的內容。
解決方法:可以從 http://stp.teamlet.org 下載STP Sample 依賴環境。
下載後,解壓。放在Document and Setting/當前用戶的目錄下,建立.m2(注意m前面有一個點),在.m2裏面建立repository目錄,然後把解壓目錄中的內容複製到repository中。例如:
C:/Documents and Settings/teamlet/.m2/repository
然後在repository目錄下是 cglib、org、stax的目錄。