“javac:找不到文件”如果路径被引用

mar*_*cao 0 wildcard javac

我构建了一个应用程序来编译和运行 java 文件,它运行完全正常。

由于是用户选择要编译和执行的java文件的路径,所以我引用了路径,这样它就可以包含空格和特殊字符。像这样:

javac "C:\test project\*.java"
Run Code Online (Sandbox Code Playgroud)

现在,我在另一台计算机上尝试过,现在出现此错误:

javac: file not found: C:\test project\*.java
Usage: javac <options> <source files>
use -help for a list of possible options
Run Code Online (Sandbox Code Playgroud)

如果我删除引号并且路径中没有空格或特殊字符,则它可以工作,但对于上面的示例,包含空格,我会收到此错误:

javac: invalid flag: C:\test 
Usage: javac <options> <source files>
use -help for a list of possible options
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些关于此的主题,但我无法找到解决方案。有人有线索吗?

谢谢!

小智 5

尝试引用路径并在引用添加 *.java 。例如:

javac "C:\test project"\*.java
Run Code Online (Sandbox Code Playgroud)

我的测试环境中有一个具有相同模式的脚本,今天停止工作。经过一些研究,我发现唯一的变化是我从 JDK7 update 7 更新到了 update 17,当我回到 update 7 时,它又可以正常工作了。似乎在两者之间引入了一个新错误。经过一些试验和错误,我想出了这个解决方法,它适用于旧的和新的 javac。

希望有帮助。