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

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

381727 次浏览

尝试通过环境变量设置将所有依赖 jar 文件添加到类路径中,或者使用以下步骤:

  1. 打开命令提示符。
  2. 将目录更改为您的 java 位置 您想要编译的文件。
  3. 为依赖项 jar 文件设置类路径,如下所示:

    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)

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

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

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

您也可以使用“-classspath”代替“-cp”

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

通过正确设置环境变量“ CLASSPATH”,可以在每次编译时包含 jar。该环境变量将存储用于编译/执行任何 java 文件的 jar 和类的路径。您不必在每次编译文件时都单独包含 jar。

不同的机器有不同的方法将类路径设置为环境变量。 Windows、 Linux 等操作系统的命令是不同的。

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

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

语法将适用于 windows dos 命令:

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

请试用 Linux

javac -cp jarfile source file

例子:-

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

这将创建. 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

转到文件夹位置(脱离包结构)

/opt/JavaServices $ export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;java sqlite.SQLiteSample

注意: 请查看文件位置和包名称

下面是步骤,

  1. 复制所有罐子和你的。Java 文件在同一个文件夹(这将很容易提到文件名,而不是提到长路径。虽然你可以保持罐子和。Java 放在不同的文件夹中)。

  2. 编译,

    javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.java
    
  3. 执行,

    java -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>
    

希望这个能帮上忙!

您需要在编译时和运行时中指定依赖项

要编译,请使用此格式

javac -cp "*.jar;classfile_path" filename.java

例如:

javac -cp "ojdbc6.jar;c:\programs" Main.java

有时作出以下改变是有效的:

java -cp ".;%CLASSPATH%" classfilename

注意: 在 Windows 上。对于 linux 使用 $CLASSPATH代替。

Javac-cp jar/jar1: jar/jar2: jar/jar3 abc.java

通过 -cp 命令,我们指定了在哪里可以找到编译该类所需的附加库的路径。Jar 文件夹中提供的 jar1、 jar2和 jar3用于编译 abc.java 类。

很多答案都对我有帮助,但没有一个是我真正需要的。

假设:

  1. 视窗操作系统

  2. JAR 文件和 java 文件在同一个目录中

javac -cp <jar filename>.jar <filename>.java

java -cp <jar filename>.jar; <filename>

请记住语法需要完全匹配。不能排除文件扩展名或分号。