1. 程式人生 > >javac編譯單文件、多文件引入jar包、-cp解決無法加載主類問題

javac編譯單文件、多文件引入jar包、-cp解決無法加載主類問題

oid class 測試 5.0 警告 -- classpath 載器 目錄結構

引言:很多人用ide集成開發環境用的多了,對dos命令編譯多個java文件或引入jar包都變得陌生了,java不同於其他解釋語言,如ruby、php 都有require,直接引入即可運行代碼,但java需要先編譯成字節碼,所以運行的時候需要在cmd裏面加些參數

1. 引入外部jar包編譯運行


測試目錄結構

技術分享圖片

技術分享圖片

技術分享圖片

test

  • -- src/A.java
  • -- lib/pinyin4j-2.5.0.jar

A.java 代碼如下:

技術分享圖片

 1 import net.sourceforge.pinyin4j.PinyinHelper;
 2 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
3 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; 4 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; 5 import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; 6 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; 7 8 public class
A { 9 10 public static void main(String[] args) throws Exception { 11 /** 12 * toHanyuPinyinStringArray方法接收的是字符類型char,返回的是字符串數組String[] 13 */ 14 for(int i=0; i<args[0].length(); i++) { 15 16 String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(args[0].charAt(i));
17 18 for (int j=0; j<pinyinArray.length; j++) { 19 20 System.out.println(pinyinArray[j]); 21 } 23 } 25 } 26 }

開始編譯

技術分享圖片

成功運行

技術分享圖片

  1. javac -cp 指明了.java文件裏import的類的位置
  2. java -cp 指明了執行這個class文件所需要的所有類的包路徑-即系統類加載器的路徑(涉及到類加載機制)

註意:路徑在linux中用:隔開 在windows中用;隔開,對於.class文件來說,只需要指明包的路徑即可;但是對於jar文件來說,必須要指定全路徑即路徑+文件名的格式,不能只指定一個路徑

pinyin4j-2.5.0下載

https://files.cnblogs.com/files/bc8web/pinyin4j-2.5.0%E8%A7%A3%E5%8E%8B%E4%BD%BF%E7%94%A8.rar

2. 編譯多文件


一次性編譯所有.java文件

技術分享圖片

  • 一次性編譯所有.java文件

技術分享圖片

  • 編譯指定的多個java文件

技術分享圖片

附javac 用法

用法:javac <選項> <源文件>

其中,可能的選項包括:
-g 生成所有調試信息
-g:none 不生成任何調試信息
-g:{lines,vars,source} 只生成某些調試信息
-nowarn 不生成任何警告
-verbose 輸出有關編譯器正在執行的操作的消息
-deprecation 輸出使用已過時的 API 的源位置
-classpath <路徑> 指定查找用戶類文件的位置
-cp <路徑> 指定查找用戶類文件的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
-bootclasspath <路徑> 覆蓋引導類文件的位置
-extdirs <目錄> 覆蓋安裝的擴展目錄的位置
-endorseddirs <目錄> 覆蓋簽名的標準路徑的位置
-d <目錄> 指定存放生成的類文件的位置
-encoding <編碼> 指定源文件使用的字符編碼
-source <版本> 提供與指定版本的源兼容性
-target <版本> 生成特定 VM 版本的類文件
-version 版本信息
-help 輸出標準選項的提要
-X 輸出非標準選項的提要
-J<標誌> 直接將 <標誌> 傳遞給運行時系統

javac編譯單文件、多文件引入jar包、-cp解決無法加載主類問題