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