實現此目的有兩種方式,兩種方式都像魅力一樣。 這兩個選項都可以通過ant \ gradle自動命名。
1.To使用-clientjar,然後重新包裝源
2.Manually插入到WSDL罐子和自定義URL wsdLlocation
假設你有C:\ WSDL \ SO \的STA。WSDL (我是在Windows上運行)
CD C:\WSDL\SO\
第一選項
C:\WSDL\SO>wsimport -clientjar StasWebServiceClient.jar stas.wsdl
這將創建StasWebServiceClient.jar jar文件,但在導入到eclipse時,該消息人士還不能對的,因爲主題問題(默認包)。
=>解壓縮的jar文件到當前文件夾,你可以使用7zip的,或任何其他偉大的zip工具,也可以運行
C:\WSDL\SO>jar xf StasWebServiceClient.jar
解壓罐子。
文件夾層次結構應該像
C:\WSDL\SO\META-INF
C:\WSDL\SO\stas.wsdl(original wsdl)
C:\WSDL\SO\StasWebServiceClient.jar(generated jar file)
C:\WSDL\SO\META-INF\wsdl(created by -clientjar)
C:\WSDL\SO\META-INF\wsdl\stas.wsdl(copied by -clientjar)
C:\WSDL\SO\com\...
/* all generated classes\sources */
C:\WSDL\SO\com\...
=>做
C:\WSDL\SO>jar -cvf StasWebServiceClientCorrect.jar com META-INF
這將創造另一個罐子,StasWebServiceClientCorrect.jar,現在有正確的包裝。
第二個選項
=>運行的wsimport
C:\WSDL\SO>wsimport -keep stas.wsdl
生成代碼。我總是喜歡有-keep選項存在,但它是給你的。
=>創建META-INF文件夾
C:\WSDL\SO>mkdir META-INF
=>創建META-INF/WSDL文件夾
C:\WSDL\SO>cd META-INF
C:\WSDL\SO\META-INF>mkdir wsdl
=>去一個文件夾了。
C:\WSDL\SO\META-INF>cd ..
=> stas.wsdl文件複製到META-INF \ WSDL \ stas.wsdl
C:\WSDL\SO>copy stas.wsdl META-INF\wsdl\stas.wsdl
=>創建JAR歸檔
C:\WSDL\SO>jar -cvf StasWebServiceClient.jar com META-INF
導入罐子工作區。 當您將創建實際的服務呼叫時,請使用:
StasService stasService = new StasService(StasService.class.getClassLoader().getResource("META-INF/wsdl/stas.wsdl"))
相同。任何線索? – inquisitive
當我使用'-clientjar'選項時,生成的jar文件僅包含** META-INF文件夾。 – peterh