java - 如何从 ant 调用 WSDL2JAVA,路径中存在空格

标签 java windows ant whitespace

大家好!

我尝试在 ant 文件中调用 Axis2 WSDL2JAVA 来创建 WSDL 客户端。但它被破坏了,因为我的路径中有空格(我在 Windows 上......)。这是我的 Ant

<property name="wsdl.file" location="C:\path with whitespaces\project\subdir\my.wsdl"/>
...
<target name="generate.client" depends="Clean.Client">
    <java  classname="org.apache.axis2.wsdl.WSDL2Java">
        <arg value="-uri" />
        <arg file="${wsdl.file}"/>
        <arg value="-u"/>
        <arg value="-p"/>
        <arg value="my.package.declaration"/>
        <arg value="-S"/>
        <arg value="src/test"/>
        ...
        <classpath refid="axis2.classpath"/>
    </java>
</target>

当我尝试运行它时,出现以下错误:

[java] Caused by: java.net.URISyntaxException: Illegal character in path at index 18: file:/C:/path with whitespaces/project/subdir/my.wsdl
 [java]     at java.net.URI$Parser.fail(URI.java:2809)
 [java]     at java.net.URI$Parser.checkChars(URI.java:2982)
 [java]     at java.net.URI$Parser.parseHierarchical(URI.java:3066)
 [java]     at java.net.URI$Parser.parse(URI.java:3014)
 [java]     at java.net.URI.<init>(URI.java:578)
 [java]     at org.apache.ws.commons.schema.resolver.DefaultURIResolver.resolveEntity(DefaultURIResolver.java:57)
 [java]     ... 39 more

我尝试将& quot;添加到我的属性中,但它不起作用,并且给了我一个双重路径。我还尝试将嵌套的 arg value= 更改为 arg line= 但它是相同的。

这真的是一个但是阻止我从带有空格的目录构建吗?我不敢相信这些天仍然发生......:-(

更新我无法移动项目来消除空格。

最佳答案

在 URI 中,空格必须转义为 %20

关于java - 如何从 ant 调用 WSDL2JAVA,路径中存在空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1553991/

相关文章:

运行 ant.bat 时出现 ant 错误 "The syntax of the command is incorrect."

java - 使用 Ant 根据操作系统和 CPU 架构进行区分,我可以这样做吗?

java - Spring Data Elastic Search中的事务支持

java - Java中String...变量和String变量[]有什么区别?

java - 为什么在这种情况下删除通用类型会阻止覆盖?

c++ - 从 C++ 创建共享库

java - XMLWriter 使用 zdef 扩展属性名称?

python - 音频文件到文本文件python

Windows批处理文件从文件名中提取编号

java - 尝试设置 Java DB : "Class Not Found: JDBC driver org.apache.derby.jdbc.EmbeddedDriver could not be loaded"