之前在看spring註解的時候,有看到再配置檔案裡面定義component scan package就能自動掃瞄對應包下面的class,
然後根據註解生成相應的bean。自己對這個功能很好奇,就搜了下,找到了實現的關鍵**,記錄下。後續再對這段**深入學習。
/**
* 從包package中獲取所有的class
* * @param pack
* @return
*/public static set> getclasses(string pack) else if ("jar".equals(protocol))
// 如果前半部分和定義的包名相同
if (name.startswith(packagedirname))
// 如果可以迭代下去 並且是乙個包
if ((idx != -1) || recursive) catch (classnotfoundexception e) }}
}}
} catch (ioexception e) }}
} catch (ioexception e)
return classes;
}
/**
* 以檔案的形式來獲取包下的所有class
* * @param packagename
* @param packagepath
* @param recursive
* @param classes
*/public static void findandaddclassesinpackagebyfile(string packagename,
string packagepath, final boolean recursive, set> classes)
// 如果存在 就獲取包下的所有檔案 包括目錄
file dirfiles = dir.listfiles(new filefilter()
});// 迴圈所有檔案
for (file file : dirfiles) else catch (classnotfoundexception e)
}} }
自己直接拿過來用了,可以掃瞄package對應的子package,不過是對當前classload下的所有jar進行掃瞄的。
java讀取指定package下的所有class
從包package中獲取所有的class param pack return public static set getclasses string pack else if jar equals protocol 如果前半部分和定義的包名相同 if name.startswith packaged...
pip安裝指定版本的package
最近到乙個專案組,用了一套高大上的運維工具來搭建開發環境.有vagrant控制virtualbox啟動虛擬機器.有ansible來執行playbook初始化環境.然後遇到了乙個坑,專案現有的playbook可以在ansible 1.9.6裡面正常執行,而在ansible 2.0.2裡執行失敗了.而我...
讀取指定列
usr bin env python3 coding utf 8 import xlrd 開啟excel檔案,建立乙個workbook物件,book物件也就是fruits.xlsx檔案,表含有sheet名 rbook xlrd.open workbook key.xlsx sheets方法返回物件列...