[英]javac classpath option with multiple jar files in current directory causing error
环境:Windows 7、Java 6。
尝试使用 -cp 选项编译 .java 文件。 该文件使用当前目录中的单个 jar 文件以及当前目录中的其他一些 jar 文件。
javac -cp ./*.jar MyFile.java
不起作用。
javac -cp ./* MyFile.java
不起作用
javac -cp ./MyJar.jar MyFile.java
作品
前两种情况,我收到无效标志错误。 有人可以解释这种行为吗?
我检查了它是否是空格问题,我的完整文件路径中的任何地方都没有空格。
评论中提供的两个链接的引用来源以及“这个问题在这里可能已经有了答案:”,并不能完全解释观察到的行为。
javac -cp ./*.jar MyFile.java
行不通,因为此上下文中的通配符 * 用法与正常用法不同。 这可以从文档中理解。 * 始终代表完整文件而不是部分文件名。
javac -cp ./* MyFile.java
应该工作。 显然在 Windows 中使用双引号和/或分号。 作品:
javac -cp "./*" MyFile.java
javac -cp ./*; 我的文件
javac -cp "./*;" 我的文件
javac -cp *; 我的文件
javac -cp "*" MyFile.java
javac -cp "*;" 我的文件
文档中没有任何地方提到这个重要的事实 afaik。
所以我猜在 WINDOWS 7 64 位上,使用 java 1.6.0_75 使用双引号或始终使用通配符时使用分号 *
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.