我是网络服务新手。我正在尝试使用以下命令生成存根:
wsimport -d ./build -s ./src -p com.ECS.client.jax http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl -b jaxws-custom.xml
我在 cmd 中收到此错误:
wsimport 无法识别
我的Java环境变量系统路径是
C:\Program Files (x86)\Java\jdk1.7.0
。我做错了什么?
我通过使用来自netbeans而不是来自cmd的wsimport解决了这个问题...但我仍然不知道为什么我不能从cmd使用它。
C:\Program Files\Java\jdk1.7.0_60\bin
这是我的jdk所在的位置,适用于我的系统:
";C:\Program Files\Java\jdk1.7.0_60\bin"
wsimport 和所有其他 java 命令都存在于 jdk bin 目录中,因此您需要更新 PATH 变量以包括:
"C:\Program Files (x86)\Java\jdk1.7.0\bin"
而不是
"C:\Program Files (x86)\Java\jdk1.7.0"
我建议创建 JAVA_HOME 路径。例如我的JAVA_HOME:
JAVA_HOME c:\Java\jdk1.6.0_26\
我的java路径不包含任何特殊字符和字符之间的空格。 Windows 路径包括:
%JAVA_HOME%\bin;
或:
c:\Java\jdk1.6.0_26\bin;
请检查您的路径。可能包含错误的字符、另一个斜杠、第二个 java 路径或不包含分号。
你的java路径设置不正确。你能做的是。 转到 cmd 提示符中的 java bin 文件夹(如 c:\java\jdk.1.7.0),然后输入命令(如 wsimport 或 wsimport -keep -s blahblahblah)。
这会起作用!
您也可以这样做,而不是更改环境路径变量
'C:\Program Files\Java\jdk1.8.0_60\bin\wsimport.exe'
只需执行您的代码即可:
'C:\Program Files\Java\jdk1.8.0_60\bin\wsimport.exe' -d ./build -s ./src -p com.ECS.client.jax http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl -b jaxws-custom.xml
我知道这是一篇旧文章,但我今天找到了这个解决方案,这就是我解决的方法!
转到环境变量。在系统变量下选择“PATH”并编辑它。在新对话框中追加路径直到jdk的bin文件夹。它必须有效。
如果您在 Linux 上并且找不到 wsimport 作为默认 shell 命令,您可能需要安装 openjdk-devel。
实际上这个问题的问题是系统没有在路径变量上找到java。最终,在系统路径变量中添加 java 后,该命令将起作用。
这是解决这个问题的最佳方案:
在您的 cmd 上运行这一行:
c:>set path=%path%;C:\Program Files\Java\jdk1.8.0_51\bin
应该可以。
我只是删除路径中的条目
%JAVA_HOME%\bin
并提供直接路径 C:\Program Files\Java\jdk1.8.0_101\bin
。我不知道为什么,因为以前它也只指向同一个目录。