如何用java文件包含jar文件并在命令提示符下编译

我有3个jar文件和依赖于这些jar文件的.java文件。 如何使用命令提示符编译带有这些jar文件的.java文件?

您可以使用“-cp”选项将您的jar文件包含在“javac”命令中。

 javac -cp ".;/home/path/mail.jar;/home/path/servlet.jar;" MyJavaFile.java 

你也可以使用“-classpath”来代替“-cp”

 javac -classpath ".;/home/path/mail.jar;/home/path/servlet.jar;" MyJavaFile.java 

您可以通过正确设置环境variables“CLASSPATH”在每次编译时joinjar。 环境variables将存储需要用来编译/执行任何java文件的jar和类的path。 每次编译文件时,您都不必单独包含这些jar子。

不同的机器有不同的方法来将类path设置为环境variables。 Windows,Linux等的命令是不同的。

你可以在这个博客中find更多的细节。

 http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html 

请在Linux上尝试

 javac -cp jarfile source file 

例子: –

 javac -cp .:/jars/* com/template/*.java 

尝试通过环境variables设置将所有依赖关系jar文件添加到您的类path,或使用以下步骤:

  1. 打开命令提示符。
  2. 改变目录到你想编译的java文件的位置。
  3. 为您的依赖关系jar文件设置类path,如下所示:

    set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;

  4. 现在,你可以编译你的java文件。 (命令: javac YourJavaFile.java

希望这将解决您的依赖性问题。

语法将工作在Windows DOS命令:

 javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java 

这将创build.class文件:

 javac -classpath "[jarname with specified path]" [java filename] 

这将执行类文件:

 java -cp [jarname with specified path]: [java filename] 

尝试这个。

 javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java 

如果你使用的是Ubuntu:

 /opt/JavaServices/sqlite> export CLASSPATH=/opt/JarFiles/XXXX.jar:/opt/JarFiles/XXXX.jar:/opt/JavaServices/;javac SQLiteSample.java Go to folder location (Out of package structure) /opt/JavaServices> export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;java sqlite.SQLiteSample 

注意:请参阅文件位置和软件包名称