Classpath无效标志 - Java

时间:2015-04-28 09:48:50

标签: java compiler-errors javac

我正在使用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。 任何建议将不胜感激! :)

3 个答案:

答案 0 :(得分:3)

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

程序如下:
编译:

javac MyClass.java 

以上行创建MyClass.class

使用清单文件创建JAR:

jar cfe myJar.jar myClass myClass.class  

运行JAR:

java -jar myJar.jar

答案 1 :(得分:1)

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

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

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

可执行文件

java –jar REngine.jar

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

jar文件中的

java –cp REngine.jar package.YourClass

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

答案 2 :(得分:0)

指定选项和源文件,尝试如下:

javac -classpath ./lib/* file.java

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

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