【问题标题】:Javac bootclasspath optionJavac 引导类路径选项
【发布时间】:2013-08-16 10:03:28
【问题描述】:

我尝试在像这样编译 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参数?

【问题讨论】:

    标签: javac


    【解决方案1】:

    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
    

    【讨论】:

    • 您不能在传递给 javac 或 java 可执行文件的类路径引用中使用“*.jar”。如果要包含多个 JAR 文件,它们需要用 Unix/Linux 上的“:”(冒号)和“;”分隔(分号)在 Windows 上。
    【解决方案2】:

    我添加了这个 -bootclasspath /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar instad of /usr/lib/jvm/java-7-oracle/lib/*.jar 和它工作正常。

    【讨论】:

      【解决方案3】:

      试试这样的:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多