【问题标题】:Classpath invalid flag - Java类路径无效标志 - Java
【发布时间】:2015-04-28 09:48:50
【问题描述】:

我正在使用javac 编译一个名为Rengine.jar 的文件。

我试过了:

javac –classpath ./REngine.jar
javac –cp ./REngine.jar
javac ./REngine.jar
javac –classpath REngine.jar

这是我得到的错误:


javac: invalid flag: –classpath
Usage: javac <options> <source files>
use -help for a list of possible options

javac: invalid flag: –cp
Usage: javac <options> <source files>
use -help for a list of possible options

javac: invalid flag: ./REngine.jar
Usage: javac <options> <source files>
use -help for a list of possible options

javac: invalid flag: –classpath
Usage: javac <options> <source files>
use -help for a list of possible options

我对 Java 一点也不熟悉,我无法通过 Google 搜索找到这个问题的答案。我准确地说我在好目录中并且我正在使用 Mac OSX。我的 Java 版本是 1.8.0_20。 任何建议将不胜感激! :)

【问题讨论】:

  • 看起来你的破折号有误。尝试用- 替换所有。看起来您有一个 unicode EN DASH (U+2013),而不是 ASCII 减号(十六进制 2d)。
  • 谢谢!这确实是一个好的开始,有很好的破折号......这是我的新错误:javac: no source files Usage: javac &lt;options&gt; &lt;source files&gt; use -help for a list of possible options

标签: java compiler-errors javac


【解决方案1】:

首先,您不能编译.jar 文件。 .jar 文件是已编译的 .java 文件(.class 文件)的集合。但是,如果您的清单文件设置正确,您可以运行 .jar 文件。

流程如下:
编译:

javac MyClass.java 

以上行创建MyClass.class

使用清单文件创建 JAR:

jar cfe myJar.jar myClass myClass.class  

运行 JAR:

java -jar myJar.jar

【讨论】:

    【解决方案2】:

    javac - Java源编译器,将Java源文件*.java编译成JVM字节码类文件*.class

    要执行 Java 程序,您需要使用 java YourClass 调用类文件。

    Jar 文件是一个Java archive 文件。其中包含其他文件。例如类文件。如果你想从 Jar 文件中运行一个类,有两种方法。

    可执行 Jar

    java –jar REngine.jar
    

    这取决于 Jar 中的清单文件,它定义了应该执行的主类。

    Jar 文件中的类

    java –cp REngine.jar package.YourClass
    

    这将执行package.YourClass 类(假设该类有一个main 方法)。

    【讨论】:

      【解决方案3】:

      指定选项和源文件,试试这样:

      javac -classpath ./lib/* file.java
      

      如果您有任何问题,请尝试指定编译器将使用哪个工件:

      javac -classpath ./lib/myjar.jar file.java
      

      【讨论】:

        猜你喜欢
        • 2017-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-21
        • 1970-01-01
        • 2018-08-11
        • 2016-12-24
        • 1970-01-01
        相关资源
        最近更新 更多