Windows上javapackager ant任务中缺少文件路径的第一个字符

Windows上javapackager ant任务中缺少文件路径的第一个字符,java,inno-setup,javapackager,Java,Inno Setup,Javapackager,我有一个build.xml脚本,可以在MacOs上构建Java应用程序 在Windows上,它会出现以下故障: Exception: java.io.FileNotFoundException: E:\ogamp-all-platforms-v2.2.4\jar\gluegen-rt-android-natives-android-armv6.jar (The system cannot find the file specified) 注意“E:\”后面缺少第一个字符 错误似乎来自以下定义:

我有一个build.xml脚本,可以在MacOs上构建Java应用程序

在Windows上,它会出现以下故障:

Exception: java.io.FileNotFoundException: E:\ogamp-all-platforms-v2.2.4\jar\gluegen-rt-android-natives-android-armv6.jar (The system cannot find the file specified)
注意“E:\”后面缺少第一个字符

错误似乎来自以下定义:

 <fx:resources id="appRes">
        <fx:fileset dir="build" includes="EazyCNC.jar" />
        <fx:fileset dir="lib" />
        <fx:fileset dir="." includes="jogamp-all-platforms-v2.2.4/jar/*.jar" />
      </fx:resources>

我不知道什么可能是错误的,尝试了所有的黑客和猜测,例如,如果我在路径前面加上“xxx”,那么出于某种原因,我没有得到错误,构建成功,但jogamp库不包括在.exe中,应用程序在代码中第一次访问这些库时失败

这是Eclipse4.8.0和JDK1.8.0_181以及Inno Setup 5.6.1的一部分

编辑,更多信息:

如果我更改了错误消息中提到的文件名(“gluegen-rt-android-natives-android-armv6.jar”),那么该更改将反映在错误消息中!请注意,构建脚本中没有直接提到文件本身,只有父目录。因此,我的结论是ant正确地构造了文件集,但是构建过程的其他部分无法打开文件,可能是错误地报告了文件路径


或者这可能与以下事实有关:这一切都发生在VirtualBox中,并且我已将项目文件夹从MacOs主机映射到Windows E:驱动器号,因此它将显示为从该驱动器的“根”目录开始的路径…

Windows对路径使用反斜杠。尝试将“/”替换为“\”

这应该起作用:

"jogamp-all-platforms-v2.2.4\jar*.jar"
还要检查转义字符是否正确

解决了它

如果资源文件集引用的目录是Windows磁盘的根目录,则javapackager部署任务中似乎出现了问题

通过从MacOs更改我的文件夹共享(和驱动器映射),使驱动器号不是指我的项目的项目文件夹(从MacOs共享),而是指项目文件夹的父文件夹,现在一切正常

换句话说,以前在我的ant脚本中,完全解析时“.”指的是驱动器“E:”,而现在完全解析时“.”指的是“E:\EazyCNC项目”

我不知道这是javapackager问题还是Inno安装问题


如果您知道,这没什么大不了的。

谢谢,尝试过了,用“\\”替换每个“/”,但是错误消息中的路径仍然缺少第一个字符,尽管在其他方面它看起来是正确的。顺便说一句,即使在此更改之前,反斜杠也正确出现在错误消息中报告的路径中;我的印象是,即使在Windows上,在ant脚本中也可以使用*nix路径。然后,也许可以尝试编写完整路径,而不是相对路径。