2

我尝试在编译 java 源代码时添加 -bootclasspath 选项,如下所示:

javac -classpath lib/* -target 1.6 -source 1.6 -bootclasspath /usr/lib/jvm/java-7-oracle/lib/*.jar Hello.java

编译时出现以下错误:

javac: invalid flag: /usr/lib/jvm/java-7-oracle/lib/dt.jar
Usage: javac <options> <source files>
use -help for a list of possible options

我应该如何添加 bootclasspath 参数?

4

3 回答 3

10

shell 将 /usr/lib/jvm/java-7-oracle/lib/*.jar 扩展为 jar 列表,因此有效地调用 javac 如下:

javac ... -bootclasspath /usr/lib/jvm/java-7-oracle/lib/rt.jar /usr/lib/jvm/java-7-oracle/lib/dt.jar ... Hello.java

您可以通过将路径放在单引号之间来避免这种情况:

javac ... -bootclasspath '/usr/lib/jvm/java-7-oracle/lib/*.jar' ... Hello.java
于 2013-08-16T11:20:41.110 回答
3

我在 /usr/lib/jvm/java-7-oracle/lib/*.jar 的 /usr/lib/jvm/java-7-oracle/lib/*.jar 中添加了这个 -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar 并且效果很好。

于 2013-08-16T10:15:58.863 回答
0

尝试这样的事情:

java -bootclasspath $(set -- /usr/lib/jvm/java-7-oracle/lib/*.jar ; IFS=:; echo "$*")

尝试时运行 bash,bourne again shell 是蜜蜂的膝盖。

于 2021-12-06T18:22:58.470 回答