簡體   English   中英

如何在java文件中包含jar文件並在命令提示符下編譯

[英]How to include jar files with java file and compile in command prompt

我有 3 個 jar 文件和一個依賴於這些 jar 文件的 .java 文件。 如何使用命令提示符用這些 jar 文件編譯 .java 文件?

您可以使用“-cp”選項將 jar 文件包含在“javac”命令中。

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

除了“-cp”,您還可以使用“-classpath”

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

通過正確設置環境變量“CLASSPATH”,您可以在每次編譯時包含 jars。 環境變量將存儲需要用於編譯/執行任何 java 文件的 jar 和類的路徑。 每次編譯文件時,您都不必單獨包含這些 jar。

不同的機器有不同的方法將類路徑設置為環境變量。 Windows、Linux 等的命令是不同的。

您可以在此博客中找到更多詳細信息。

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

請在 Linux 上嘗試

javac -cp jarfile source file 

例子 :-

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

語法適用於 windows dos 命令:

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

以下是步驟,

  1. 將所有 jar 和您的 .java 文件復制到同一文件夾中(提及文件名而不是提及長路徑會很容易。盡管您可以將 jar 和 .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>

我希望這有幫助!

嘗試通過環境變量設置將所有依賴 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

希望這將解決您的依賴問題。

這將創建 .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

您需要在編譯時和運行時指定依賴項

編譯使用這種格式

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

例子:

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

javac -cp jars/jar1:jars/jar2:jars/jar3 abc.java

使用 -cp 命令,我們指定了在哪里可以找到編譯類所需的附加庫的路徑。 jars 文件夾中的 jar1、jar2 和 jar3 用於編譯 abc.java 類。

有時進行以下更改有效:

java -cp ".;%CLASSPATH%" classfilename 

注意:在 Windows 上。 對於 linux,請改用$CLASSPATH

如果您使用的是 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

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

我有3個jar文件和一個依賴於這些jar文件的.java文件。 如何使用命令提示符使用這些jar文件編譯.java文件?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM