繁体   English   中英

无法在JDK8中运行wsimport实用程序

[英]Unable to run wsimport utility in JDK8

我在目录C:\\Program Files\\Java\\jdk1.8.0_05\\安装了C:\\Program Files\\Java\\jdk1.8.0_05\\并且将PATH环境变量设置为C:\\Program Files\\Java\\jdk1.8.0_05\\bin

现在; 为了使用Amazon的Product API,我在这里的Java入门部分中遵循了他们的指南; 我使用以下命令...

wsimport -d ./build -s ./src  -p com.ECS.client.jax http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl -b jaxws-custom.xml

在我在桌面上创建的自定义目录中打开命令提示符后; 该自定义目录包含Amazon提供的说明页面中指定的build和src目录。

现在,当我运行上述命令时; 我收到错误信息...

'wsimport' is not recognized as an internal or external command

然而; 如果我在同一命令中运行Java -version ,则一切运行正常,并且符合预期。

不确定从这里去哪里或为什么它没有读完?

注意,我已经在本页尝试了解决方案; 无济于事。

我在以下文章的评论部分中找到了这一点。 我将其全部包含在此处,因为我认为它可以解释为什么您的JDK8 / wsimport无法构建,因此当您切换回Java7时它可以正常工作。

http://blog.takipi.com/6-reasons-not-to-switch-to-java-8-just-yet/

即使这篇文章是3年前写的,我仍然遇到java8 / wsimport问题(2017)。

为什么不提到一些更明显的问题:

  1. Javadoc中的新默认值(称为doclint)将破坏您的构建。 特别是,如果您使用的是Maven和某种CI(例如Hudson,Jenkins),您会很快意识到,您不能只是接受您的项目并在JDK8中进行构建。 由于新的Javadoc,您的构建几乎肯定会出错。 (我还没有看到一个没有的项目)。 原因是在Maven中,来自javadoc工具的返回错误代码将停止整个发行过程……正如我所说,我还没有看到一个在某个地方不会出现Javadoc doclint不合规的项目。 大多数较大的项目(例如Netty)似乎都可以通过简单地关闭doclint(这当然不是doclint背后的想法)来解决问题,或者在JDK7上停留更长的时间,直到解决所有的注释问题。

  2. JDK8中的代码生成工具(例如wsimport)生成的代码与doclint不兼容。 这是一个明显的错误,并且有据可查。 这意味着JDK8的一部分无法与JDK8的另一部分一起使用。 如果您具有Web消费应用程序,则期望以某种方式规避此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM