【问题标题】:Unable to run wsimport utility in JDK8无法在 JDK8 中运行 wsimport 实用程序
【发布时间】:2014-05-09 01:16:54
【问题描述】:

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

现在;为了使用亚马逊的产品 API,我遵循他们在 Java 设置部分下的指导方针here;我使用以下命令...

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,一切正常并符合预期。

不知道从这里去哪里或者为什么它没有通读?

注意我已经在this page 尝试过解决方案;无济于事。

【问题讨论】:

  • 不确定这是否只是因为JDK8,但我降级到JDK7并且一切正常。
  • 你说你已经安装了 JRE8。你需要一个 JDK。
  • 请注意标题的错字。还要注意路径指向 JDK。
  • 对我来说也是一样 - JDK 7 工作正常。使用 JDK 8 构建的 Maven 失败:org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.3:wsimport (wsimport-generate-SampleListener) on project sample-app: Mojo failed - check output

标签: java amazon-web-services command-prompt wsimport


【解决方案1】:

我在下一篇文章的 cmets 部分找到了这个。我将它完整地包含在此处,因为我认为它解释了为什么您的 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 上停留一段时间,直到他们解决所有问题 cmets问题。

  2. JDK8 中的代码生成工具(例如 wsimport)生成的代码不符合 doclint。这是一个明显的错误并且有据可查。它 意味着 JDK8 的一部分不能与 JDK8.如果您有网络,预计必须以某种方式规避这一点 消费者应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多