我正在尋找一種方法來解耦GWT組件。這樣我可以將它集成到其他不同的GWT組件或項目中。如何使GWT解耦組件
例如: 我有一個自定義GWT樹部件(自己的CSS),現在我想通過在項目中添加.jar來在其他GWT
應用程序中使用此樹部件。
什麼是最好的辦法呢?
我正在尋找一種方法來解耦GWT組件。這樣我可以將它集成到其他不同的GWT組件或項目中。如何使GWT解耦組件
例如: 我有一個自定義GWT樹部件(自己的CSS),現在我想通過在項目中添加.jar來在其他GWT
應用程序中使用此樹部件。
什麼是最好的辦法呢?
一樣,如果你使用Maven,然後
如果你不使用Maven再正常不過的GWT應用程序,然後
希望這能解決你的問題
您可以創建你的組件作爲一個獨立的GWT模塊,那麼你就可以將其導出爲一個jar文件,在任何其他GWT項目輕鬆地使用它。網上有很多這樣的樣本。
你可以把你的GWT模塊中包含常見的小部件放入一個單獨的jar文件中,並在需要的時候重用這個jar文件。
我建議你這個Maven插件
http://mojo.codehaus.org/gwt-maven-plugin/
它可以幫助你一起創造GWT模塊與Maven
Maven是來處理在Java項目的依賴關係的最佳途徑之一。
一旦你的jar被創建,你可以將這個jar包含在你需要它的項目的類路徑中。
爲了使用外部GWT模塊的部件還必須從該模塊聲明GWT依賴將
<inherits name="gwtXmlPackageOfYourExternalModule.YourModuleName"/>
項目
編寫一個可重複使用GWT庫的.gwt.xml內( JAR)要比繼承模塊更有意義,因爲您的高級項目(使用該庫)需要訪問類源,而不是編譯代碼。
是否創建實際的工具「模塊」(繼承)取決於您。 GWT不需要這樣做。我只在頂層定義模塊。我的實用程序JAR只是類的集合,就像它們在普通的Java w/o GWT中一樣。
將代碼:Java類,圖像和其他資源移動到一個單獨的項目/模塊中,它將構建單獨的JAR。
庫中的JAR文件的Maven將這個:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>x.y.z/**/*.java</include>
</includes>
</resource>
</resources>
不要忘了包括圖像和其他資源,如果你有他們 - 不只是 「*的.java」。請記住,如果您要分發該模塊,那是您的源文件,因此儘可能限制,並且不包含非GWT內容。
將該JAR包含在主項目的Maven依賴項中。而已。不要搞亂GWT模塊。
編輯:確保您在實用工具JAR中使用相同的包結構,如在您的主(消耗)GWT項目中一樣。或者將這些包添加到模塊聲明中。
您的Maven GWT插件應保留在主模塊中,而不是實用程序JAR中。
構建Java代碼的最佳方式,還是打包模塊JAR的最佳方式? – Bjartr 2015-03-03 23:07:22