2017-05-04 170 views
1

我升级的Maven(3.3.9)项目与多个模块从Java 1.6至1.7并且在WSDL客户端(jax-RPC)重新生成时发现以下错误。错误编译生成WSDL时客户端:“错误:包com.ibm.ws.webservices.engine.encoding不存在”

当我通过Web Services - > Generate Client工具生成WSDL客户端时,它创建了一个瘦客户端“com.ibm.ws.webservices.thinclient_8.5.0.jar”的引用库,其中所有这些依赖关系都在。我生成的类都没有红编译错误(编译之前,可以在同一个包中的所有这些依赖...)

...但在Maven构建,它似乎无法找到这些软件包。我的webserver指向1.7,我的IDE(这是RSA ..)是1.7。 Pom的依赖性是1.7,删除了以前生成的客户端,并通过1.7重新生成。是什么赋予了?

错误:

error: package com.ibm.ws.webservices.engine.encoding.ser does not exist 
error: package com.ibm.ws.webservices.engine.description does not exist 
error: package com.ibm.ws.webservices.engine.encoding does not exist 
error: package com.ibm.ws.webservices.multiprotocol does not exist 

Pic 1

注意,瘦客户端是在构建路径。我试图删除/它重新添加到构建路径(刷新...再生客户端......等)无济于事

Pic2

请注意,我的课不包含红色。它似乎在这里找到了路径,但不是在maven中。

+1

你是否尝试过使用mvn clean install? –

+0

是的,这就是我每次运行它的方式。清理本身是成功的,但干净的安装失败。[INFO] BUILD FAILURE [INFO] ----------------------------- ------------------------------------------- [INFO]总时间: 17.672s [INFO]在完成:星期四05月04 10点16分02秒CDT 2017 [INFO]最后内存:12M/21M – Anticrombie23

+0

,您在指向正确的存储库' $ {的user.home} /平方米/ repository'也是在你的'settings.xml'文件中正确输入的凭证? –

回答

0

我可以在客户端的classpath中通过构建路径选项添加的图片中看到。这个不对。

如果你希望客户端在Maven构建你的classpath中得到提及,您需要先发布,作为Maven的依赖关系,然后添加在POM这种依赖性。

+0

你是否偶然知道依赖关系?我试图添加8.5服务器的依赖,但似乎产生了更多的错误 com.ibm.tools.target 8.5.5 POM 提供 Anticrombie23

+0

com.ibm.ws.webservices.thinclient_8.5.0是您需要的和您从wsdl生成的依赖项。因此,首先从wsdl生成瘦客户端,然后使用install:install-file目标将该瘦客户端jar安装到本地maven repo中,然后在您的pom中使用它。 – Shinchan